Jason Earl <[EMAIL PROTECTED]> writes:
> The fact of the matter is that the Win32 specific bits are the parts
> that are likely to break in the new port.

Actually, what scares me about this is the probability that the Win32
port will break other platforms.  The changes look to be invasive enough
to create a nontrivial risk of that.

For comparison, look at the CVS history of the recent efforts to support
IPv6 connections.  Those patches have broken both IPv4 and Unix-socket
connections at different times, and are still a source of ongoing build
problems on some platforms, plus who-knows-what problems yet to be found
on platforms that aren't used by the bleeding-edge-CVS folk.  I predict
that the tweaks needed to support Windows' lack of a fork() primitive
will be far worse.

BTW, I would not approve of a response along the lines of "can't you
#ifdef to the point that there are no code changes in the Unix builds?"
No you can't, unless you want to end up with an unmaintainable mess 
of #ifdef spaghetti.  The thing that makes this hard is the tradeoff
between making the code readable and maintainable (which requires
sharing as much code as possible across platforms) vs isolating
platform-specific considerations.  Programming at this level is not
a science but an art form, and it's very hard to get it right the first
time --- especially when none of us have access to all the platforms
that the code must ultimately work on.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to