> -----Original Message-----
> From: mlw [mailto:markw@mohawksoft.com]
> Sent: Thursday, May 09, 2002 2:56 PM
> To: Dann Corbit
> Cc: PostgreSQL-development
> Subject: Re: Issues tangential to win32 support
>
>
> Dann Corbit wrote:
> > Our package avoids Cygwin altogether. We wrote our own
> POSIX layer from
> > scratch, and we junked fork() for CreateProcess() {and
> inserted copious:
> > #ifdef ICKY_WIN32_KLUDGE
> > /* our code goes here */
> > #else
> > /* Standard UNIX code goes here */
> > #endif
>
> OK, what sorts of things did you do in your
> ICKY_WIN32_KLUDGE? Were they ever
> migrated back into the main tree? Did you simulate fork() or
> a stand-alone?
I explained it in another mail.
We had quite a few changes we had to make (several hundred man-hours,
about half of which was the POSIX layer and the precise time routines).
No sense trying to simulate fork() -- it stinks on Win32. The Cygwin
and PW32 implementations of fork() are dogs. Smarter folks than us
tried it and failed miserably. Why reinvent a broken wheel? We use
create process and our own startup code. Our version is competitive
with fork() on Linux for spawning tasks and in general the queries run
considerably faster.
> I know Windows very well, but I have thus far remained
> ignorant of PostgreSQL
> internals.