This is the mail archive of the cygwin 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]

Re: Cygwin Python/PIL TCL/TK fork rebase solution


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.

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]