Improvements to fork handling (5/5)

Ryan Johnson ryan.johnson@cs.utoronto.ca
Wed May 11 18:33:00 GMT 2011


Hi all,

This last patch adds a small optimization which reserves the lower 4MB 
of address space early in the process's lifetime (even if it's not a 
forkee). This was motivated by the observation that Windows tends to 
move things around a lot in that area, increasing the probability of 
future fork failures if the parent allows cygwin dlls to land there.  
The patch does not fully address the problem, however, because ASLR 
clobbers addresses above 4M as well. As a result, this patch may or may 
not improve fork success rates in practice: most fork failures for me 
involve DLL_LINK dlls which landed badly in the child.

It should be independent of the other patches.

Ryan

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fork-bad-addr.patch
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20110511/0968ab23/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fork-bad-addr.changes
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20110511/0968ab23/attachment-0001.ksh>


More information about the Cygwin-patches mailing list