[PATCH] Add an additional relocation attempt pass to load_after_fork()

Jon TURNEY jon.turney@dronecode.org.uk
Sun Mar 13 15:07:00 GMT 2011

Attached is a patch which avoids a fork failure due to remap error in the
specific circumstances described in my email [1], by adding an additional pass
to load_after_fork() which forces the DLL to be relocated by VirtualAlloc()ing
a block of memory at the load address as well.

Hopefully it can be seen by inspection that this code doesn't change the
behaviour of the first two passes, and so will only be changing the behaviour
in what was an fatal error case before.

[1] http://cygwin.com/ml/cygwin/2011-03/msg00373.html
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dll_init.patch
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20110313/cda32b8c/attachment.ksh>

More information about the Cygwin-patches mailing list