Prev: CreateFile for USB device returns ERROR_FILE_NOT_FOUND
Next: How to dump system service dispatch table?
From: Iker Arizmendi on 22 Apr 2008 15:06 Because the Cygwin project relied solely on Win32 APIs its fork implementation is non-COW and inefficient in those cases where a fork is not followed by exec. It's also rather complex. See here (section 5.6) for details: http://www.redhat.com/support/wpapers/cygnus/cygnus_cygwin/architecture.html Regards, Iker "JD" wrote: > You can take a look to see how Cygwin implemented this. Cygwin is a Unix > emulation library and I recall reading about how they implemented fork(). > > "Iker Arizmendi" <IkerArizmendi(a)discussions.microsoft.com> wrote in message > news:61CECC87-CC3C-4588-B47F-C0ECECE05FB8(a)microsoft.com... > > Is it possible to implement something that resembles > > UNIX fork() with NtCreateProcess/NtCreateThread and > > which is usable for non-GUI applications running under > > the Win32 subsystem? The CreateProcess API provides > > handle inheritance, so that part seems compatible with > > Win32. However, whether a parent's address space can be > > usefully inherited by a child is not clear. There are > > suggestions on the web that setting SectionHandle to > > NULL goes some way towards this, but I could find nothing > > on the impact this would have on Win32 DLLs already > > mapped by the parent, the setup of a child's stack, > > registration of the child with Win32, etc. > > > > Regards, > > Iker Arizmendi > > > > >
First
|
Prev
|
Pages: 1 2 Prev: CreateFile for USB device returns ERROR_FILE_NOT_FOUND Next: How to dump system service dispatch table? |