diff options
author | rsc <devnull@localhost> | 2004-03-26 17:30:36 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-03-26 17:30:36 +0000 |
commit | 69ab5d3d499b74e9deb46eeaeaf31a6896b92bde (patch) | |
tree | 3dede6d61b79a182c61210af6637cae5ce5d8eed /src/cmd/rc/simple.c | |
parent | 25e0e4f334bd645f8d97de1ed5a77016797939dc (diff) | |
download | plan9port-69ab5d3d499b74e9deb46eeaeaf31a6896b92bde.tar.gz plan9port-69ab5d3d499b74e9deb46eeaeaf31a6896b92bde.tar.bz2 plan9port-69ab5d3d499b74e9deb46eeaeaf31a6896b92bde.zip |
handle interrupts and backgrounded processes a little better.
Diffstat (limited to 'src/cmd/rc/simple.c')
-rw-r--r-- | src/cmd/rc/simple.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cmd/rc/simple.c b/src/cmd/rc/simple.c index c85c9098..85b20c37 100644 --- a/src/cmd/rc/simple.c +++ b/src/cmd/rc/simple.c @@ -63,6 +63,7 @@ void Xsimple(void){ Xerror("try again"); return; case 0: + rfork(RFNOTEG); pushword("exec"); execexec(); strcpy(buf, "can't exec: "); @@ -70,10 +71,12 @@ void Xsimple(void){ errstr(buf+n, ERRMAX-n); Exit(buf); default: + kidpid = pid; poplist(); /* interrupts don't get us out */ while(Waitfor(pid, 1) < 0) ; + kidpid = 0; } } } |