This is the mail archive of the cygwin-developers 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: Resurrect discussion: Mixing 32 and 64 bit distro


On Feb 14 09:55, Earnie Boyd wrote:
> On Thu, Feb 14, 2013 at 8:59 AM, Ryan Johnson
> <ryan.johnson@cs.utoronto.ca> wrote:
> > [1] This assumes the user didn't clobber their 32-bit install with a 64-bit
> > one, completely replacing a subset of dlls with a new set having the wrong
> > bitness. Mixed 1.5/1.7 installations were never allowed AFAIK, so I don't
> > think 32/64-bit mixes need be.
> 
> This is the primary issue, this and how to communicate between the
> 64bit process and the 32bit process.
> 
> Mixed or separated there has to be some method for interprocess
> communication and then be able to trouble shoot which is at fault when
> someone complains.

No.  You're jumping to conclusions which are actually what has been
*asked* for in this thread.

Separate here means: There's no communication between 64 and 32 bit
Cygwin processes.  Full stop.  Calling a 32 bit process from a 64 bit
process lets the 32 bit process assume it has been started from a native
Windows process.  No information about inherited handles, no common
process list, no coommon moiunt table, no common ptys.

Mixed here means: We provide additional code in the DLL so that all the
aforementioned stuff is shared, and at execve time, a 32 bit process
gets a serialized copy of the required cygheap data from the 64 bit
parent and vice versa.

If you really want, you could argue for separate directories for 32 and
64 bit distro but sharing of the aforementioned data between them.  But
that, in turn, requires all the same work to put into the DLL as the
fully mixed case, and even more so, since the different mount tables
will be a big, fat problem.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat


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