Re: OK, lets talk portability.

From: mlw <markw(at)mohawksoft(dot)com>
To: Dann Corbit <DCorbit(at)connx(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: OK, lets talk portability.
Date: 2002-05-07 21:48:30
Message-ID: 3CD84BAE.84520F9B@mohawksoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Dann Corbit wrote:
>
> > -----Original Message-----
> > From: mlw [mailto:markw(at)mohawksoft(dot)com]
> > Sent: Tuesday, May 07, 2002 7:58 AM
> > To: Marc G. Fournier
> > Cc: Tom Lane; PostgreSQL-development
> > Subject: Re: [HACKERS] OK, lets talk portability.
> >
> >
> > "Marc G. Fournier" wrote:
> > >
> > > On Tue, 7 May 2002, mlw wrote:
> > >
> > > > Tom Lane wrote:
> > > > > And no, I don't want to undo those changes. Especially
> > not if the
> > > > > only reason for it is to not have to use Cygwin on
> > Windows. Most
> > > > > of these changes made the startup code substantially simpler,
> > > > > faster, and more reliable.
> > > >
> > > > Then I think the notion of a pure Windows version is dead
> > in the water.
> > > > Writing a fork()-like API for Windows is, of course,
> > doable as evidenced
> > > > by cygwin, and from a general theory seems like a pretty straight
> > > > forward thing to do (with a few low level tricks of
> > course) but the
> > > > details are pretty scary.
> > >
> > > How is Apache doing this? I believe they do allow the
> > pre-forked model to
> > > work, so how are they getting around those limitations?
> >
> > Apache and PostgreSQL are quite different in their
> > requirements of shared
> > memory. Apache (2.x) simply uses CreateProcess and passes
> > duplicate file
> > handles.
>
> The way to make CreateProcess() work for PostgreSQL is very simple.
>
> By the time of the fork(), not much has been done. Some needed
> calculations can simply be stored into shared memory (which is trivial
> to implement). Some other tasks can simply be executed by the cloned
> process, exactly as they were executed in the server.
>
> Using fork() on Win32 is pointless, hopless, awful. Don't even think
> about it. It's a death warrant.

Preaching to the choir my friend.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dann Corbit 2002-05-07 22:01:52 Re: OK, lets talk portability.
Previous Message Igor Kovalenko 2002-05-07 20:55:50 Re: OK, lets talk portability.