Have to answer myself: I found the leak.

in CLIsql1.c:864 the connection via the local socket is created.
in CLIsql1.c:916 this connection is overwritten with a newly created one.

Thus, the former connection is never disconnected as its handle is leaking.

A tried a quick fix by adding "if(ses)" around lines 893-916 and the
leak is gone.

Any chance this can be fixed very soon?

Cheers,
Sebastian

Sebastian Trueg wrote:
> It seems to me that iodbc or the virtuoso odbc driver leak unix sockets.
> This is very easy to test:
>
> Take the example app from
> http://docs.openlinksw.com/virtuoso/odbcimplementation.html and add
>
>   getchar();
>
> calls after the SQLConnect and SQLDeconnect statements,
>
> Then whenever the application waits for input check the open sockets and
> see that SQLConnect (in my case SQLDriverConnect) opens 2 sockets while
> SQLDisconnect only closes one of them.
>
> This is really a showstopper for KDE since it makes the storage service
> crash after a few hundred connects.
>
> Cheers,
> Sebastian
>
>
> ------------------------------------------------------------------------------
> Join us December 9, 2009 for the Red Hat Virtual Experience,
> a free event focused on virtualization and cloud computing. 
> Attend in-depth sessions from your desk. Your couch. Anywhere.
> http://p.sf.net/sfu/redhat-sfdev2dev
> _______________________________________________
> Virtuoso-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>
>   


Reply via email to