This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]