* sigproc.h (sigframe::set): Accept a default frame pointer.
* sigproc.cc (sig_send): Use passed in frame pointer, if appropriate.
This commit is contained in:
parent
6880ecefaa
commit
e1e61b9ae5
|
@ -1,3 +1,8 @@
|
||||||
|
Fri May 26 02:23:35 2000 Christopher Faylor <cgf@cygnus.com>
|
||||||
|
|
||||||
|
* sigproc.h (sigframe::set): Accept a default frame pointer.
|
||||||
|
* sigproc.cc (sig_send): Use passed in frame pointer, if appropriate.
|
||||||
|
|
||||||
Thu May 25 17:44:25 2000 Christopher Faylor <cgf@cygnus.com>
|
Thu May 25 17:44:25 2000 Christopher Faylor <cgf@cygnus.com>
|
||||||
|
|
||||||
* dir.cc (rmdir): Use file attributes that have already been discovered
|
* dir.cc (rmdir): Use file attributes that have already been discovered
|
||||||
|
|
|
@ -755,7 +755,7 @@ sig_send (pinfo *p, int sig, DWORD ebp)
|
||||||
{
|
{
|
||||||
thiscatch = sigcatch_main;
|
thiscatch = sigcatch_main;
|
||||||
thiscomplete = sigcomplete_main;
|
thiscomplete = sigcomplete_main;
|
||||||
thisframe.set (mainthread);
|
thisframe.set (mainthread, 1, ebp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!(thiscatch = getsem (p, "sigcatch", 0, 0)))
|
else if (!(thiscatch = getsem (p, "sigcatch", 0, 0)))
|
||||||
|
|
|
@ -49,12 +49,15 @@ private:
|
||||||
sigthread *st;
|
sigthread *st;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void set (sigthread &t, int up = 1)
|
void set (sigthread &t, int up = 1, DWORD ebp = 0)
|
||||||
{
|
{
|
||||||
t.lock->acquire ();
|
t.lock->acquire ();
|
||||||
st = &t;
|
st = &t;
|
||||||
t.frame = (DWORD) (up ? __builtin_frame_address (1) :
|
if (ebp)
|
||||||
__builtin_frame_address (0));
|
t.frame = ebp;
|
||||||
|
else
|
||||||
|
t.frame = (DWORD) (up ? __builtin_frame_address (1) :
|
||||||
|
__builtin_frame_address (0));
|
||||||
t.lock->release ();
|
t.lock->release ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue