Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-Id: <6.0.1.1.0.20040118192108.01f0abb0@imap.myrealbox.com> X-Sender: tprince AT imap DOT myrealbox DOT com Date: Sun, 18 Jan 2004 19:37:56 -0800 To: "Benson Margulies" , From: Tim Prince Subject: Re: Windows Server 2003 on AMD64, One More Ping In-Reply-To: References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-IsSubscribed: yes At 10:12 AM 1/18/2004, Benson Margulies wrote: >TWIMC, > >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 >Nebbett. > >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. Tim Prince -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/