Do we have a definitive explanation of just how bad the current
wine/pthread incompatibilities are, and/or where current efforts are at?
I'd not known there were any efforts to get wine working with nptl
(hence my perhaps exaggerated alarm) until the link to Ingo's kernel
patch was posted (aug2002 moreover) which suggests at least that some
people *are* working on this (phew). I would be very grateful to know
what the status is. Anyone? TIA.
among the things we have to take care of:
- signals: signal, in current implementation, is sent to a thread. in nptl, it's sent to the process. So, lots of thread control has to be rewritten
- in the same type of issues, getpid() now returns the same pid for all threads in a same process. Most of Wine code relies on having a different pid for each thread (this fix is needed, IIRC, for some Solaris port)

from what I've seen, the LDT/GDT with nptl should be easier:
- for Win32 processes, as Ulrich already wrote, we could got rid of LDT (and only rely on GDT) for %fs and TEB allocation
- for Win16 processes, we would still require LDT sharing across pthreads, which I don't how it's handled right now

and it's likely there are quite a few other items I forgot

A+

--
Eric Pouech




Reply via email to