Wine threads and TRY/CATCH macros and DCE threads and TRY/CATCH macros
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Thu Jan 20 05:29:23 CST 2005
as you may be aware, dce threads is posix draft 4 threads and FreeDCE
has an emulation library kindly made up-to-date to successfully run even
on NPTL on x86 and AMD64, courtesy of loic.
it is my understanding / guess that microsoft, in their
adoption of DCE 1.0 some fifteen years ago for NT 3.1, ported
DCE threads to Win32 [hence, you have all those lovely TRY
CATCH RAISE macros in all the lovely MSVC++ programs, whoopeee]
so i was wondering if someone could point me in the direction
of some Wine source code - testing, implementation, macros
etc. that would allow me to vaguely confirm whether my
suspicions are correct.
the first hypothesis i want to test is this: namely, that
Wine applications would run _better_ [read, "more correctly"]
by using dcethreads than by using its present implementation
of Win32 threads.
the _other_ hypothesis i want to test is this: namely, that
FreeDCE applications would be more "palatable" in today's modern
environment if compiled with Wine's threading code!
according to loic, who is an expert on the different thread
models, the thing is that certain syscalls are not interruptable
/ cancellable in Posix Draft 4 threads and in NPTL they are.
this CHANGES the behaviour of any programs using the wrong
threading library in subtle ways.
thus, certain applications suddenly become unreliable where they were
p.s. i don't claim to know all the answers, nor all the questions.
More information about the wine-devel