http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50895



Nicholas Wourms <nwourms at gmail dot com> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

                 CC|                            |nwourms at gmail dot com



--- Comment #6 from Nicholas Wourms <nwourms at gmail dot com> 2013-01-03 
03:03:13 UTC ---

(In reply to comment #4)

> A question about this build-failure.  Were you using posix-threading model for

> 4.6 ?



I can't speak for Ruben, but now that thread models have been inextricably

entwined into the core compiler, libjava really should be updated to handle

mingw64's posix thread support. It shouldn't be too difficult, but does require

some unraveling of the various Posix/Win32 native functions.



I think the main problem is the lack of any decent signal handling in win32. As

such, files such as:



libjava/java/lang/natWin32Process.cc

libjava/gnu/java/nio/natVMSelectorWin32.cc



seem to involve event handling that is linked to Win32 threading model,

specifically using the _Jv_Win32GetInterruptEvent() function. It appears that

libjava/win32-threads.cc also has some similarities to the underlying

pthread_cond* implementation in mingw-w64's pthreads library, so in theory it

could just be a matter of porting the interrupt event handlers to

posix-threads.cc to provide ifdef'd alternates to the signal handlers.



Alternatively, Kai and friends at mingw-w64 could implement improved signal

handling in librt, but that may be defeating the purpose of mingw.

Reply via email to