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