Subject | Re: [IBDI] ODBC for InterBase 6: General Release Notification |
---|---|
Author | Dmitri Smirnov |
Post date | 2000-10-04T22:07Z |
Nick Gorham wrote:
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
Borland
x6558
>Oh, you did not know? gds32.dll is NOT thread safe. I think it was
> 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.
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
Borland
x6558