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