diff options
author | Karel Zak <kzak@redhat.com> | 2007-07-02 15:58:09 +0200 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2007-07-02 15:58:09 +0200 |
commit | a6f628832a1e6292cfdf9074ba32ba8cd21f899d (patch) | |
tree | 53da5c09c4142d2aeed417c46df6cd1fe76a66b1 | |
parent | 652de88cef7f32af6d035d7cc29d6073ae50741e (diff) | |
download | util-linux-old-a6f628832a1e6292cfdf9074ba32ba8cd21f899d.tar.gz |
wall: fix O_NONBLOCK usage
From: Alan Curry <pacman@TheWorld.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r-- | login-utils/ttymsg.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/login-utils/ttymsg.c b/login-utils/ttymsg.c index 55b26a82..0dbe5811 100644 --- a/login-utils/ttymsg.c +++ b/login-utils/ttymsg.c @@ -127,7 +127,7 @@ ttymsg(struct iovec *iov, int iovcnt, char *line, int tmout) { continue; } if (errno == EWOULDBLOCK) { - int cpid, off = 0; + int cpid, flags; if (forked) { (void) close(fd); @@ -155,7 +155,8 @@ ttymsg(struct iovec *iov, int iovcnt, char *line, int tmout) { (void) signal(SIGTERM, SIG_DFL); /* XXX */ (void) sigsetmask(0); (void) alarm((u_int)tmout); - (void) fcntl(fd, O_NONBLOCK, &off); + flags = fcntl(fd, F_GETFL); + fcntl(flags, F_SETFL, (long) (flags & ~O_NONBLOCK)); continue; } /* |