This is the mail archive of the
mailing list for the Cygwin project.
Re: Windows Server 2003 on AMD64, One More Ping
At 10:12 AM 1/18/2004, Benson Margulies wrote:
Some time ago, I reported that fork() didn't work when running the
current cygwin distro on the AMD64 on Windows. At the time, I debugged
far enough to get an approximate picture of what Cygwin was doing with
VirtualXXX calls to implement fork, and I posted some questions in the
hopes of understanding it well enough to try to make a fix. As far as I
could see, I didn't get a reply.
To summarize, it seemed to me as if the code was making some assumptions
about what virtual addresses ranges would be available and assigned
under certain conditions related to fork, and that these assumptions
were not valid on the AMD64, leading to failures.
Presumably, a ground-rule of Cygwin is to program only to the documented
Win32 API, and not to resort to the NT API substrate as illustrated in
In any case, the offer is still open; if someone would be so kind as to
offer up a summary of the design of fork(), I'd be willing to make some
effort to diagnose and propose mods to adapt it.
Since this hasn't been answered by more knowledgeable people, I'll stick my
neck out. No, I don't believe anyone has found satisfactory support for
fork() within the documented Win32 API. Thus, cygwin is easily broken by
changes which Microsoft has made in the various "64-bit" Windows
versions. I do believe Cygwin has ground rules of running only on released
Windows versions for which cgf has been provided a working hardware
platform. If you're talking about the Physical Address Extension Windows
with 48-bit virtual/40-bit physical- addressing for AMD64, that meets
neither of those criteria. Apparently, no one has been willing to provide
any "64-bit" Windows hardware for the Cygwin project, even for the released
ia64 Windows. If you don't have more time than I to look at the source and
try to understand how fork() was implemented, I think you're wasting
bandwidth. Likewise, if you're proposing supporting a version of Windows
which Microsoft will not permit the Cygwin project to use. If you're
talking about standard released 32-bit Windows running on an AMD, my
impression is there should be no problem.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html