* 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:
Christopher Faylor 2000-05-26 06:24:58 +00:00
parent 6880ecefaa
commit e1e61b9ae5
3 changed files with 12 additions and 4 deletions

View File

@ -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>
* dir.cc (rmdir): Use file attributes that have already been discovered

View File

@ -755,7 +755,7 @@ sig_send (pinfo *p, int sig, DWORD ebp)
{
thiscatch = sigcatch_main;
thiscomplete = sigcomplete_main;
thisframe.set (mainthread);
thisframe.set (mainthread, 1, ebp);
}
}
else if (!(thiscatch = getsem (p, "sigcatch", 0, 0)))

View File

@ -49,12 +49,15 @@ private:
sigthread *st;
public:
void set (sigthread &t, int up = 1)
void set (sigthread &t, int up = 1, DWORD ebp = 0)
{
t.lock->acquire ();
st = &t;
t.frame = (DWORD) (up ? __builtin_frame_address (1) :
__builtin_frame_address (0));
if (ebp)
t.frame = ebp;
else
t.frame = (DWORD) (up ? __builtin_frame_address (1) :
__builtin_frame_address (0));
t.lock->release ();
}