Subject Re: [IB-Architect] Thread-safety of gds32.dll
Author Helen Borrie
Great, Dmitry... good memory. :))

I will hunt out that article by Dmitri Smirnov - I'm pretty sure I recall
it, and it was that which raised my doubts about the problem being that
server and client were running on the same CPU, rather than being confined
just to local connection.

Please - anyone else - Charlie, Dmitri, etc. would you add anything more
you understand of this issue as I'd like to roll it all together and put up
an article about it.

Cheers,
Helen

At 04:03 PM 20-12-00 +0300, you wrote:
>Hello, Helen!
>
>Helen Borrie wrote:
>
> > >It was NEVER thread-safe on a local connection.
> >
> > That much was known...I'm trying to get to the bottom of the cause...is the
> > shared memory conflict between client library and server the only
> > issue? Why should it be so? Do you think it was deliberately made so to
> > prevent people from developing middleware using LIBS?
>
>Don't know. I've got this knowledge from Dmitri Smirnov's article (in
>interbase@...)
>several months ago. He stated that gds32.dll is not threadsafe at all.
>Also he described local connections mechanism. There were no explanations
>about LIBS issues. I think LIBS was created before MIDAS, and nobody in
>Borland
>ever thought about using LIBS with Midas.
>
> > >And seems it
> > >executes queries serially for different processes.
> >
> > I'm not sure exactly what you are saying here. (a) all queries within a
> > single process are executed serially? or in some processes it executes all
> > queries serially and in some processes it doesn't? Do you mean it queues
> > up queries and won't execute one until the current one is finished?
>
>I'm not sure, it must be tested. I remember that in some IB version
>all queries in different processes were executing serially, i.e. next query
>won't execute until current is finished.
>
> > >uses shared memory for IPC between gds32.dll and interbase.exe.
> >
> > Is there any way one can observe/test that?
>
>? This is the FAQ (at list in Russia) that using IB with CGI, ISAPI, Perl,
>Baikonur
>or other Web technology connection must be specified as localhost or
>servername,
>not as local (direct database path without specifying server name and
>protocol).
>only localhost:c:\dir\data.gdb or servername:c:\dir\data.gdb will work and
>process parallel queries.
>Right two days ago one man asked me about serial query execution with MIDAS
>applications. He missed in one app and specified local connection instead
>localhost:c:\dir...
>
> > Do you know whether it affects all platforms, or just Windows?
>
>I know that there is no local connection in Unix. You can't connect to
>database
>without specifying localhost or servername. So local connections are
>Windows-specific.
>
> > Is just a Classic problem or does it affect SS as well?
>
>I think there is no difference between classic and ss for this issue.
>
>--
>Dmitry Kuzmenko, Epsylon Technologies.
>
>To unsubscribe from this group, send an email to:
>IB-Architect-unsubscribe@onelist.com
>

All for Open and Open for All
InterBase Developer Initiative ยท http://www.interbase2000.org
_______________________________________________________