* 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:
parent
e3c25c4a47
commit
101f820da2
|
@ -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>
|
||||
|
||||
* cygwin.din: Remove cygwin_getshared.
|
||||
|
|
|
@ -1142,8 +1142,8 @@ static int __stdcall call_signal_handler_now_dummy ()
|
|||
int
|
||||
sigframe::call_signal_handler ()
|
||||
{
|
||||
unregister ();
|
||||
return call_signal_handler_now ();
|
||||
return unregister () ? call_signal_handler_now () : 0;
|
||||
|
||||
}
|
||||
|
||||
#define pid_offset (unsigned)(((_pinfo *)NULL)->pid)
|
||||
|
|
|
@ -50,17 +50,17 @@ class sigframe
|
|||
{
|
||||
private:
|
||||
sigthread *st;
|
||||
void unregister ()
|
||||
bool unregister ()
|
||||
{
|
||||
if (st)
|
||||
{
|
||||
EnterCriticalSection (&st->lock);
|
||||
st->frame = 0;
|
||||
st->exception = 0;
|
||||
st->release_winapi_lock ();
|
||||
LeaveCriticalSection (&st->lock);
|
||||
st = NULL;
|
||||
}
|
||||
if (!st)
|
||||
return 0;
|
||||
EnterCriticalSection (&st->lock);
|
||||
st->frame = 0;
|
||||
st->exception = 0;
|
||||
st->release_winapi_lock ();
|
||||
LeaveCriticalSection (&st->lock);
|
||||
st = NULL;
|
||||
return 1;
|
||||
}
|
||||
|
||||
public:
|
||||
|
|
Loading…
Reference in New Issue