It was my own mistake , I'm sorry.
Inside the program I leave a bug wich skip the call to RemoveMyConnection;
Now when I call it the connection closed is removed properly also from the
database connection list.

Just to answer to Philippe:
The thread didn't reopen itself, I explained myself badly, it just die. It
is recreated by it master when required.

thanks

-----Messaggio originale-----
Da: Philippe Poelvoorde [mailto:[EMAIL PROTECTED]
Inviato: venerdi 18 febbraio 2005 18.11
A: AESYS S.p.A. [Enzo Arlati]
Cc: [EMAIL PROTECTED] Mysql. Com (E-mail)
Oggetto: Re: How remove the closed connections


AESYS S.p.A. [Enzo Arlati] wrote:
> I get an application with several thread , with each thread using it's own
> connection.
> What I mean is that the thread create a connection at the beginning and
> close      anddetroyitbeforeitclose.
>
> Under some circustances some of these threads close itself and reopen
after
> few minutes ( for example 60 secs. ).

I don't really see the meaning of a thread that close itself and
reopen... If the thread return or die, you should explicitely close the
connection, if the thread is just sleeping, there is nothing to do, just
check the connection when the thread wake up.


> When this appened also if the connection is closed , it is still
registered
> as active by mysql.

Then the connection is not properly close, and the thread still active
somewhere (in sleep ?) ;)

> So I got that each time a new thread is started a new connection is added
to
> the list of mysql connection.
> When the thread  died , mysql keep a reference to an idle connection until
> the wait_timeout expiration time.
>
> So I must keep the value of  wait_timeout  lower , ie. = 120, while the
> preferred value should higher that this value.
>
> There are some way to shorten the timeout for removing the connections
> without interfere with the timeout used for still active connection ?
>
>
> I'm using mdac with c++buider 6 and the way I create and destroy the
> connection are showed  belowe:

is mdac you database layer ?


> /********************************************************/
> void __fastcall TDataModule_PMV::RemoveMyConnection(TMyConnection *
dbConn)
> {
>        if( dbConn )
>        {
>          dbConn->Connected = false;
>          delete dbConn;
>          dbConn = 0;
>        }
> }

Does this mean that it will close the connection ?

--
Philippe Poelvoorde
COS Trading Ltd.

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to