From 968d91b2e6156e84c9fa5a6534364861446549f8 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 25 Apr 2001 19:11:37 +0000 Subject: * sigproc.h [sigthread]: Add exception field. [sigframe::~sigframe]: Clear exception field. [sigframe::set]: Set exception field from caller. * sigproc.cc (sig_send): Set exception field when frame pointer is passed in. * exceptions.cc (interrupt_on_return): Always treat exception as interruptible. --- winsup/cygwin/exceptions.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'winsup/cygwin/exceptions.cc') diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 880c4033f..03e00ea4a 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -735,7 +735,7 @@ interrupt_on_return (sigthread *th, int sig, void *handler, struct sigaction& si thestack.init (ebp); /* Initialize from the input CONTEXT */ for (i = 0; i < 32 && thestack++ ; i++) - if (interruptible (thestack.sf.AddrReturn.Offset)) + if (th->exception || interruptible (thestack.sf.AddrReturn.Offset)) { DWORD *addr_retaddr = ((DWORD *)thestack.sf.AddrFrame.Offset) + 1; if (*addr_retaddr == thestack.sf.AddrReturn.Offset) -- cgit v1.2.3