Mail Archives: djgpp-workers/1998/07/27/10:36:21
On Mon, 27 Jul 1998, DJ Delorie wrote:
> * In fact, gdb traps int 0x31. Maybe your shell could somehow trap
> that *before* it gets to the DPMI server, so that longjump is still an
> option?
I think there's no problem to longjmp from a software interrupt handler.
GDB's source is full of longjmp's (that's Richard Stallman's way of
writing interactive programs, Emacs does the same), and we never have any
problems with that, even though GDB hooks PM Int 31h for its work.
> * Has anyone tried longjumping from one djgpp program to another
> (parent/child) program?
Will longjmp work across different selectors? (The child has a different
CS/DS/SS, right?)
> If this works, the fsext can longjump
> to the shell, which can longjump to the other programs.
This would require cooperation from the child. (It needs to install an
FSEXT hook itself.) In contrast, hooking Int 31h in PM only requires the
parent to do something special, while the child is oblivious.
- Raw text -