On Sun, 2011-03-13 at 15:07 +0000, Jon TURNEY wrote: > 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.
This patch causes a warning with GCC 4.5: cc1plus: warnings being treated as errors dll_init.cc: In member function ‘void dll_list::load_after_fork(void*)’: dll_init.cc:328:33: error: converting to non-pointer type ‘DWORD’ from NULL Yaakov