From a6f628832a1e6292cfdf9074ba32ba8cd21f899d Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 2 Jul 2007 15:58:09 +0200 Subject: [PATCH] wall: fix O_NONBLOCK usage From: Alan Curry Signed-off-by: Karel Zak --- login-utils/ttymsg.c | 5 +++-- 1 file 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; } /* -- 2.39.5