This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
I am looking for some guidance on how to possibly solve the Cygwin Python fork() problem demonstrated by: http://cygwin.com/ml/cygwin/2001-12/msg00419.html After applying the attached patch to further instrument load_after_fork(), I get the attached output. From this test case, we see that load_after_fork() can currently handle the case when the DLL remaps to an address that is lower than the expected value (e.g. cygcrypto.dll). But, load_after_fork() cannot handle the case when the DLL remaps to a higher address (e.g., cygssl.dll). Does anyone have ideas on how to handle the too high case? Does anyone understand why the DLL in question seems to remap to an address that is exactly 0x10000 too high? Note that I have also tried a Python built without "-Wl,--enable-auto-image-base". I got identical results including the 0x10000 offset (albeit with different address). Thanks, Jason
Attachment:
dll_init.cc.diff
Description: Text document
Attachment:
nothreads.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |