diff options
Diffstat (limited to 'lib-src/timer.c')
| -rw-r--r-- | lib-src/timer.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib-src/timer.c b/lib-src/timer.c index 51642813fe3..84c384c9f22 100644 --- a/lib-src/timer.c +++ b/lib-src/timer.c | |||
| @@ -213,7 +213,7 @@ getevent () | |||
| 213 | notify (); | 213 | notify (); |
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | void | 216 | SIGTYPE |
| 217 | sigcatch (sig) | 217 | sigcatch (sig) |
| 218 | int sig; | 218 | int sig; |
| 219 | /* dispatch on incoming signal, then restore it */ | 219 | /* dispatch on incoming signal, then restore it */ |
| @@ -262,7 +262,18 @@ main (argc, argv) | |||
| 262 | signal (SIGTERM, sigcatch); | 262 | signal (SIGTERM, sigcatch); |
| 263 | 263 | ||
| 264 | #ifndef USG | 264 | #ifndef USG |
| 265 | fcntl (0, F_SETFL, FASYNC); | 265 | if (fcntl (0, F_SETOWN, getpid ()) == -1) |
| 266 | { | ||
| 267 | fprintf (stderr, "%s: can't set ownership of stdin\n", pname); | ||
| 268 | fprintf (stderr, "%s\n", sys_errlist[errno]); | ||
| 269 | exit (1); | ||
| 270 | } | ||
| 271 | if (fcntl (0, F_SETFL, fcntl (0, F_GETFL, 0) | FASYNC) == -1) | ||
| 272 | { | ||
| 273 | fprintf (stderr, "%s: can't request asynchronous I/O on stdin\n", pname); | ||
| 274 | fprintf (stderr, "%s\n", sys_errlist[errno]); | ||
| 275 | exit (1); | ||
| 276 | } | ||
| 266 | #endif /* USG */ | 277 | #endif /* USG */ |
| 267 | 278 | ||
| 268 | while (1) pause (); | 279 | while (1) pause (); |