Subject Re: [IBO] Multithreading (was: Access violations in ibserver.exe and gds32.dll)
Author Jason Wharton
> Hmm, I think it _is_ a flaw that GDS32.DLL is not thread-safe.
> Here are my reasons:
> 1) I have to use several connections in my multi-threaded
> application. It would be sufficient to use one
> connection - if GDS32 would be thread-safe. So I have
> to waste resources as "workaround".

Waste resources?

Ok, here's my point. To accomplish given tasks, multi-user being one of
them, at some point the multi-user aspects need to be taken care of. With
InterBase/Firebird this takes place internal to the server's engine. There
is no need to take care of it elsewhere and to attempt to do so is merely to
add unneeded baggage or place unnecessary mutex conditions causing client
activities to be serialized instead of handled in a true multi-user manner.

What InterBase has done is solved the problem in a simple and clean manner.
For them to do what you are imposing is to add unnecessary baggage and give
it to everyone regardless of whether or not they need it.

> 2) The FB developers intend to fix this issue. If it wasn't
> a flaw, why would the fix it then?

There's nothing to fix. It really would be considered an enhancement to add
in whatever necessary to make the client more flexible. This is to me a
disappointment if they are going to add in baggage and complicate the code
base. Hopefully it is just a few simple things.

Don't get me wrong, there may be some really nice things this could enable
that I may see as worth it given the circumstances. I've just not personally
come up against them. I know the way IB/FB is designed and constructed and
it is natural for me to know how it fits into whatever solution I have to
create.

> 3) Over the years, I have seen lots of reports at support
> forums where people reported errors which were a result
> of the fact that they used threads with the GDS32.DLL.
> So I got the impression that such a library is expected
> to be thread-safe. (OK, this is a rather weak reason).

Yes, lame argument from a technical standpoint. But, from a marketing
standpoint it could be useful.

Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com

-- We may not have it all together --
-- But together we have it all --