On Thu, Mar 21, 2002 at 11:15:52AM -0800, Stephen Weeks wrote: > > > Could you please describe what happens in the error case > > in plain English? I see that there could be a timing problem in > > fork() but I'd like to read how the error looks like. > > The process mmaps some memory, writes to the memory, and then forks. > After the fork, the parent unmaps the memory and exits, while the > child reads from the memory. From looking at the strace, I see that > the Cygwin fork implementation allows the parent process to continue > before ensuring that the child has completed the memory copy. In this > case, the parent unmaps the memory before the child can copy it. > Hence, we see the following line in the strace, which indicates the > failure in the child process (138). > > 1813 914381 [main] fork 138 fixup_mmaps_after_fork: ReadProcessMemory failed for >MAP_PRIVATE address 0x2A230000, Win32 error 998 > c:\sweeks\tmp\fork.exe: *** recreate_mmaps_after_fork_failed
I've checked in a fix. Please try the next devlopers snapshot or current from CVS. Thanks for the report and the testcase, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:[EMAIL PROTECTED] Red Hat, Inc. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/