| Bill Allombert on Tue, 06 Dec 2005 21:17:49 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: handling interrupt |
On Mon, Dec 05, 2005 at 04:24:10PM -0800, Ilya Zakharevich wrote:
> 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
I had the same idea, but it does not work for me (on GNU/Linux).
The system(3) man page states that:
system() executes a command specified in command by calling /bin/sh -c
command, and returns after the command has been completed. During exe-
cution of the command, SIGCHLD will be blocked, and SIGINT and SIGQUIT
will be ignored.
So it is not better here than typing ^C and hoping that does not happen
during the call to system(3).
According to the very usefull FreeBSD manpages database
<http://www.freebsd.org/cgi/man.cgi>, all BSD based systems have
the same behaviour. The SunOS 5.9 manpage is unclear on this point.
Cheers,
Bill.