* select.cc (select_stuff::wait): Temporarily disable restarting
entirely.
This commit is contained in:
parent
d560c4b2ba
commit
d6719f7e17
|
@ -1,3 +1,8 @@
|
|||
2012-05-29 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* select.cc (select_stuff::wait): Temporarily disable restarting
|
||||
entirely.
|
||||
|
||||
2012-05-29 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* security.h (cygsidlist::+=): Correctly copy well_known_sid info from
|
||||
|
|
|
@ -331,13 +331,17 @@ select_stuff::wait (fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
|
|||
{
|
||||
case WAIT_OBJECT_0:
|
||||
select_printf ("signal received");
|
||||
#if 0
|
||||
/* FIXME? Partial revert of change from 2012-01-22. If the signal
|
||||
handler is called before the threads are stopped via cleanup,
|
||||
emacs 24.x crashes in thread_pipe. For now, do not call the
|
||||
signal handler if we're not in the main thread, but cleanup
|
||||
before calling the signal handler. */
|
||||
emacs 24.x crashes in thread_pipe. Just restarting without
|
||||
calling the signal handler makes select entirely uninterruptible
|
||||
when called from a thread not the main thread, see
|
||||
http://cygwin.com/ml/cygwin/2012-05/msg00580.html
|
||||
So, for now, just disable restarting entirely. */
|
||||
if (!return_on_signal)
|
||||
goto looping; /* Emulate linux behavior */
|
||||
#endif
|
||||
cleanup ();
|
||||
_my_tls.call_signal_handler ();
|
||||
set_sig_errno (EINTR);
|
||||
|
@ -389,7 +393,9 @@ select_stuff::wait (fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
|
|||
cleanup ();
|
||||
goto out;
|
||||
}
|
||||
#if 0
|
||||
looping:
|
||||
#endif
|
||||
if (ms == INFINITE)
|
||||
{
|
||||
select_printf ("looping");
|
||||
|
|
Loading…
Reference in New Issue