Subject Re: [firebird-support] Embedded again
Author Ann W. Harrison
Chad Z. Hower aka Kudzu wrote:
> Classic server says "Several clients can open file directly". It appears
> from this and other things Ive read that Classic server uses IPC mechanims
> or file locks to communicate between processes.

Classic processes communicate through the database and a shared memory
lock table. When Firebird has a database page in its cache, it has a
lock on that page - shared read or exclusive write, depending on usage.
The lock is recorded in When a different thread (SuperServer) or
process (Classic) wants to use the page, it attempts to get a lock on
the page. If some other process has the page locked in an incompatible
mode it is signaled (or its waiting thread is notified) of the request
and releases its lock as quickly as possible. If the Classic process
held a write lock and changed the page, it must write the page to disk
before releasing the lock.

> Could not a different build of FB Embedded be made so that several
> applications could use the same data file?

That's what is normally called Classic. In Version 1.5 on Windows,
classic doesn't support local connections, only loopback connections,
which require that an ur-server be running to feed connections to child
servers.


Regards,


Ann