On 12/17/2004 8:45 AM, Jens Lechtenboerger wrote:
> When the connection is resumed, the postmaster creates a new socket
> with the (new) Apache process (just as you described above), gets
> the ID, informs the backend, and passes the new socket with
> sendmsg(2) to the backend which gets it with recvmsg(2). (I have
> never passed sockets like this; I just read that it should work.)
> Now the backend can continue the existing transaction with the new
> Apache process.
> Or not?
Yes, that would work ... on some but not all Unix derivates ... what
about those where it does not? I know that Windows has a similar
functionality available, but that would AFAIK require to use windows
messages, which in turn requires to have a window handle for each and
every backend, a rather dramatic change.
The PostgreSQL team members (me included) are big fans of portability.
Introducing code that solves a problem for one specific web server, in
the special case of a small number of application users, in a non
portable way for only a couple operating systems and where the resulting
functional difference is visible to the database client ... I don't
think this idea has much of a chance to make it into the source tree.
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck(at)Yahoo(dot)com #
In response to
pgsql-interfaces by date
|Next:||From: Andreas Kretschmer||Date: 2004-12-17 16:39:58|
|Subject: Re: restore a plpgsql function with pg_restore|
|Previous:||From: Jens Lechtenboerger||Date: 2004-12-17 13:45:49|
|Subject: Re: Lost updates vs resumable connections/transactions|