* sigproc.h (sigframe::unregister): Return true/false whether this frame is
capable of responding to signals. * exceptions.cc (sigframe::call_signal_handler): Don't call signal handler if it is not armed for this thread.
This commit is contained in:
		| @@ -1,3 +1,10 @@ | |||||||
|  | Tue Sep 11 21:55:37 2001  Christopher Faylor <cgf@cygnus.com> | ||||||
|  |  | ||||||
|  | 	* sigproc.h (sigframe::unregister): Return true/false whether this | ||||||
|  | 	frame is capable of responding to signals. | ||||||
|  | 	* exceptions.cc (sigframe::call_signal_handler): Don't call signal | ||||||
|  | 	handler if it is not armed for this thread. | ||||||
|  |  | ||||||
| Tue Sep 11 11:23:10 2001  Christopher Faylor <cgf@cygnus.com> | Tue Sep 11 11:23:10 2001  Christopher Faylor <cgf@cygnus.com> | ||||||
|  |  | ||||||
| 	* cygwin.din: Remove cygwin_getshared. | 	* cygwin.din: Remove cygwin_getshared. | ||||||
|   | |||||||
| @@ -1142,8 +1142,8 @@ static int __stdcall call_signal_handler_now_dummy () | |||||||
| int | int | ||||||
| sigframe::call_signal_handler () | sigframe::call_signal_handler () | ||||||
| { | { | ||||||
|   unregister (); |   return unregister () ? call_signal_handler_now () : 0; | ||||||
|   return call_signal_handler_now (); |  | ||||||
| } | } | ||||||
|  |  | ||||||
| #define pid_offset (unsigned)(((_pinfo *)NULL)->pid) | #define pid_offset (unsigned)(((_pinfo *)NULL)->pid) | ||||||
|   | |||||||
| @@ -50,17 +50,17 @@ class sigframe | |||||||
| { | { | ||||||
| private: | private: | ||||||
|   sigthread *st; |   sigthread *st; | ||||||
|   void unregister () |   bool unregister () | ||||||
|   { |   { | ||||||
|     if (st) |     if (!st) | ||||||
|       { |       return 0; | ||||||
| 	EnterCriticalSection (&st->lock); |     EnterCriticalSection (&st->lock); | ||||||
| 	st->frame = 0; |     st->frame = 0; | ||||||
| 	st->exception = 0; |     st->exception = 0; | ||||||
| 	st->release_winapi_lock (); |     st->release_winapi_lock (); | ||||||
| 	LeaveCriticalSection (&st->lock); |     LeaveCriticalSection (&st->lock); | ||||||
| 	st = NULL; |     st = NULL; | ||||||
|       } |     return 1; | ||||||
|   } |   } | ||||||
|  |  | ||||||
| public: | public: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user