Jeremy White wrote:
> However, the more I think about this, I think that the whole approach
> I've proposed is, at this time, inferior to Alexandre's proposal.
I've been running into another problem as of late that would be solved
nicely by Alexandre's solution that isn't easily solved otherwise. I've
been playing with GL and DDraw winelib apps on a machine with an NVidia
video card and the NVidia XFree 4.0 accellerated libGL. The NVidia libGL
makes pthreads calls during it's initialization. Due to issues with dll
loading order, libGL is being initialized prior to the initialization of
threading within libwine (via the .init/constructor init mechanism), and
we thus segfault immediately in the pthread wrappers.
You can see this easily enough on any machine with the NVidia drivers
(or other libGL implementations that rely on pthreads) by adding opengl32
or ddraw to the IMPORTS line in the Makefile for programs/notepad.
Short of Alexandre's solution, the workaround I'm using now is to forcably
call THREAD_Init() before any call to NtCurrentTeb in the pthreads wrappers.
*That* is decidedly uglier than the foo/foo.so solution.
> Does anyone know which list is best for discussing such
> a proposition? I follow glibc-linux, but it's a pretty
> low traffic list.
So long as it gets to Ulrich Drepper you're probably fine. Just cc him on
your suggestion...
-Gav
--
Gavriel State
CEO
TransGaming Technologies Inc.
[EMAIL PROTECTED]