From: cgf AT bbc DOT com (Chris Faylor) Subject: Re: Possible cause of WaitForMultipleObjects error message 16 Nov 1997 11:31:19 -0800 Message-ID: <199711161906.OAA10190.cygnus.gnu-win32@hardy.bbc.com> To: jazz AT softway DOT com Cc: gnu-win32 AT cygnus DOT com >> Until then, you are mixing metaphors if you are using fork() with >> Windows memory allocation calls. > >Does that mean that if a cygwin app calls a DLL which calls HeapAlloc, >the app will be unable to fork()? I haven't studied this in great detail, but, no, this doesn't necessarily follow. It does mean that any memory allocated using HeapAlloc will not be duplicated in the forked process. The "split heap" is detected by sbrk. When it attempts to grow the cygwin heap, it notices if the end of memory is the same as the last time it was called. If it isn't, some other function has extended the *Windows* heap and the *cygwin* heap is marked as split. So, you will not necessarily receive the split heap error unless you follow the HeapAlloc with a call to sbrk. malloc calls sbrk when it is out of memory. - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".