diff options
-rw-r--r-- | regress/netcat.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/regress/netcat.c b/regress/netcat.c index 50934f3f2..30e49ac01 100644 --- a/regress/netcat.c +++ b/regress/netcat.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: netcat.c,v 1.127 2015/02/14 22:40:22 jca Exp $ */ | 1 | /* $OpenBSD: netcat.c,v 1.128 2015/03/26 10:36:03 tobias Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> | 3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> |
4 | * | 4 | * |
@@ -1034,17 +1034,17 @@ fdpass(int nfd) | |||
1034 | 1034 | ||
1035 | bzero(&pfd, sizeof(pfd)); | 1035 | bzero(&pfd, sizeof(pfd)); |
1036 | pfd.fd = STDOUT_FILENO; | 1036 | pfd.fd = STDOUT_FILENO; |
1037 | pfd.events = POLLOUT; | ||
1037 | for (;;) { | 1038 | for (;;) { |
1038 | r = sendmsg(STDOUT_FILENO, &msg, 0); | 1039 | r = sendmsg(STDOUT_FILENO, &msg, 0); |
1039 | if (r == -1) { | 1040 | if (r == -1) { |
1040 | if (errno == EAGAIN || errno == EINTR) { | 1041 | if (errno == EAGAIN || errno == EINTR) { |
1041 | pfd.events = POLLOUT; | ||
1042 | if (poll(&pfd, 1, -1) == -1) | 1042 | if (poll(&pfd, 1, -1) == -1) |
1043 | err(1, "poll"); | 1043 | err(1, "poll"); |
1044 | continue; | 1044 | continue; |
1045 | } | 1045 | } |
1046 | err(1, "sendmsg"); | 1046 | err(1, "sendmsg"); |
1047 | } else if (r == -1) | 1047 | } else if (r != 1) |
1048 | errx(1, "sendmsg: unexpected return value %zd", r); | 1048 | errx(1, "sendmsg: unexpected return value %zd", r); |
1049 | else | 1049 | else |
1050 | break; | 1050 | break; |