Subject Re: [IBDI] ODBC for InterBase 6: General Release Notification
Author Dmitri Smirnov
Nick Gorham wrote:
> Dmitri Smirnov wrote:
> > Nick,
> >
> > can't find if it is thread safe. Is it?
> The driver itself is, but I am starting to wonder if gds32.dll is, I have
> had a strange problem reported with multiple threads.

Oh, you did not know? gds32.dll is NOT thread safe. I think it was
discussed a number of times. This is what my original question was about.
If you want your dirver work with multiple threads you need to serialize
every call to gds32.dll. There might be a few exceptions but right now none
comes to my mind except obvious isc_wait_for_event() because you can't wrap
it with mutexes and that is why people usually use isc_queue_event in
multithreaded programs. You do not have to deal with events in ODBC so
everything including undocumented but usefull isc_free() must be
serialized. I had to do the whole bunch of C++ class wrappers for Linux/NT
recently so I am speaking from experince.

Dmitri Smirnov