diff options
| author | rsc <devnull@localhost> | 2005-03-18 19:03:25 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2005-03-18 19:03:25 +0000 |
| commit | 4ee543e58c5e6cf5ef0b94dfec752dadbbd063d3 (patch) | |
| tree | 2bfb7c9dbe3dcc28e639d734df00cceb33b1be88 /src/cmd/rc/havefork.c | |
| parent | ca30274bd90f09b6d19d36b87278fdb40efddada (diff) | |
| download | plan9port-4ee543e58c5e6cf5ef0b94dfec752dadbbd063d3.tar.gz plan9port-4ee543e58c5e6cf5ef0b94dfec752dadbbd063d3.zip | |
try harder to put background jobs in background; do not print in response to SIGPIPE
Diffstat (limited to 'src/cmd/rc/havefork.c')
| -rw-r--r-- | src/cmd/rc/havefork.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/cmd/rc/havefork.c b/src/cmd/rc/havefork.c index e81046d6..6e4aa924 100644 --- a/src/cmd/rc/havefork.c +++ b/src/cmd/rc/havefork.c @@ -1,3 +1,5 @@ +#include <u.h> +#include <signal.h> #include "rc.h" #include "getflags.h" #include "exec.h" @@ -11,7 +13,9 @@ Xasync(void) { int null = open("/dev/null", 0); int pid; + int tcpgrp, pgrp; char npid[10]; + if(null<0){ Xerror("Can't open /dev/null\n"); return; @@ -22,6 +26,12 @@ Xasync(void) Xerror("try again"); break; case 0: + /* + * Should make reads of tty fail, writes succeed. + */ + signal(SIGTTIN, SIG_IGN); + signal(SIGTTOU, SIG_IGN); + pushredir(ROPEN, null, 0); start(runq->code, runq->pc+1, runq->local); runq->ret = 0; |
