* 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

@@ -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 ();
}