OSDN Git Service

* dcrt0.cc (init_windows_system_directory): Record system_wow64_directory
authorcgf <cgf>
Tue, 13 Dec 2011 20:06:29 +0000 (20:06 +0000)
committercgf <cgf>
Tue, 13 Dec 2011 20:06:29 +0000 (20:06 +0000)
commit36f938cb2ce76f3f1bc4b3005e68416a535a6937
tree84f1aa7dc24ee6277718c05975e257b27c2ae88e
parent1ed24b75b399cb599d0484f477694c757fec5093
* dcrt0.cc (init_windows_system_directory): Record system_wow64_directory
information.
* exceptions.cc (_cygtls::inside_kernel): Modernize comment.  Consider
executing a DLL from the Wow64 directory as being "in the kernel".
(_cygtls::call_signal_handler): For now, only deal with main_tls signals if
main_tls is known to be executing in the cygwin DLL.  To more closely emulate
linux, consider the operation to be restartable if not executing in the main
thread.
* globals.cc (windows_system_directory): Remove NO_COPY.
(windows_system_directory_length): Ditto.
(system_wow64_directory): New variable.
(system_wow64_directory_length): Ditto.
* select.cc (cygwin_select): Don't issue a EINTR on non-main threads since that
seems to be what Linux does.  Add missing break to signal case/switch.
(select_stuff::wait): Don't issue a EINTR on non-main threads since that seems
to be what Linux does.  Remove now-unneeded accommodation for
WAIT_IO_COMPLETION.  Add a comment.
* sigproc.h (cygwait): Ditto.  Don't return if signal_received noticed and it's
not the main thread.
* signal.cc (sigprocmask): Add standard syscall debug stuff.
* thread.cc (pthread_sigmask): Ditto.
winsup/cygwin/ChangeLog
winsup/cygwin/dcrt0.cc
winsup/cygwin/exceptions.cc
winsup/cygwin/globals.cc
winsup/cygwin/select.cc
winsup/cygwin/signal.cc
winsup/cygwin/sigproc.h
winsup/cygwin/thread.cc