Hello,

> there yet. Some of the recent changes (available in CVS
> only) include
> "instances" which allow threads to use the
> library independently of
> each other. This feature was critical for applications that
> load and
> unload modules which in turn are linked against libdbi.

I'm mostly interested in accessing different dbi_conn objects
from same thread in safe way.

So, it is quite reasonable to call dbi_initialize from single thread
and call dbi_shutdown from single thread.

> However, I
> recall that libdbi uses gmtime for time conversions and
> readdir to
> locate available drivers. I don't know whether every
> supported OS has
> the reentrant forms gmtime_r and readdir_r (FreeBSD, Linux,
> and Cygwin
> do). If they do, this would be easy to fix.

gmtime_r, readdir_r exists on both Linux and Cygwin platforms and
according to man mages exists in FreeBSD as well:

http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=gmtime_r
http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=readdir_r

However readdir_r is less important because it is quite reasonable
to load shared objects from single thread.

Also, I had seen that gmtime used from timegm only if it
is not implemented. (Undef cygwin/Linux it is implemented
as GNU extension). Thus, gmttime shoudn't be called.

Is there other points where non reenterable functions are used?

I started to use the library for CppCMS project that naively
runs in multiple threads. I assumed that the library is thread
safe, however if I'm wrong it may be quite problematic for me.

> I'd be glad if everyone could
> have a look at
> "their" driver and client library and let the
> list know whether or not
> it is thread-safe.
>

It would be great, at least it is possible to know what
backends are not safe.

For the record I had seen in sqlite (not sqlite3) backend
usage of strtok. So it should be thread unsafe.

What happens with others?

Thanks,
  Artyom


      

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
libdbi-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libdbi-devel

Reply via email to