| Ilya Zakharevich on Tue, 06 Dec 2005 01:30:56 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: hangling interrupt |
On Mon, Dec 05, 2005 at 04:40:09PM -0500, Igor Schein wrote:
> Hi,
>
> Don't try this in a gp session you care about:
>
> k=0;while(k++,print(k);system("sleep 1"))
>
> Now that's what I call a true infinite loop, the one you cannot break
> out of.
??? kill -INT $GP_PID
> Even ^\ doesn't work, only ^Z and good-bye session. I have a
> feeling it's non-trivial to handle this scenario properly.
You mean "handle from GP/PARI"? system() will return the reason for
subprocess to terminate (provided the shell propagates this info to
the caller; most do: if the kid of a shell was terminated by SIGn, the
shell return code is typically 0x80 | n).
If system() says that the kid was terminated by SIGINT/SIGQUIT, then
PARI can query some handler; GP may install a handler to ask the user
whether they want to emulate SIGINT obtained by GP/PARI.
Hope this helps,
Ilya