This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Snapshot 20040225: make hangs/errors out
Um..., stupid question. As usual, I haven't thought about this much, or
traced it too far yet, but...
__sigbe begins by pushing ebx, edx, and eax. It ends by poping just eax
and edx. Why don't you need to pop ebx?
On Thu, 4 Mar 2004, Christopher Faylor wrote:
> I see what is causing the symptom but not what is causing the problem.
> I spent a sleepless night modelling multi-threaded signal interrupts
> in my head but I'm still not any closer to understanding the problem.
>
> The problem is that malloc allocates some memory, puts the address of
> the memory in the eax register, and then returns. In the meantime, two
> signals have come in, so rather than return immediately, malloc returns
> to the signal handler and then the signal handler is called again. In
> some cases, this causes the eax register to become zero and so make
> (rightly) complains. In theory, this shouldn't happen since the eax
> register should have been saved on the stack.
>
> Nope. Typing an explanation doesn't help me figure this out. Bummer.
>
--
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
Phone: 314-551-8460
Fax: 314-551-8444
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/