Hello Luchezar,

> Do you mean
> http://www.mail-archive.com/[EMAIL PROTECTED]/msg01070.html
yes

> (It doesn't contain other comments but those in the patch.) If you 
> confirm, I can apply it.
yes.

>> it happens if a int24 handler returns to itself directly, instead of the
>> 'normal' way to return to DOS with some error code.

> But an Int 24h handler returns with an IRET, so to return to itself means
> that it's re-entrant!

has nothing to do with reentrancy.

a) program installs it's own int24handler.

b) critical error happens, int24() gets called.

*usually* this sets carry flag etc. and returns to DOS (and DOS
gets a chance to free_fnode() etc.)

in the observed case (which probably came from some Turbo Pascal
library, floating in the net), the program instead
pops all (DOS saved) registers from stack, sets some magic
flag in the application, and returns immediately to the
user adress on the stack - no chance for DOS to reset errorlevel,
no chance to free_fnode().

tom




-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM. 
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to