Cygwin Python/PIL TCL/TK fork rebase solution

Brian Dessent
Tue Jan 16 12:31:00 GMT 2007

Robin Walker wrote:

> So, what is it about Cygwin DLLs that makes them apparently sensitive to
> base address in a way that normal Windows DLLs are not?

Because in order to emulate fork(), Cygwin has to be able to re-execute
the binary and have it load with the same memory layout.  If there are
DLLs that overlap and need remapping by the OS then the memory layout
becomes non-deterministic.  If Cygwin cannot create a child process with
the same memory layout as the parent, then it cannot fork and you get
the "unable to remap" error.

Keep in mind that Cygwin jumps through inordinate hoops to emulate this
"fork" concept that does not exist natively in any shape or form on
Win32, but which is a fundamental syscall around which all process
management is based on all POSIX systems.


Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list