summaryrefslogtreecommitdiff
path: root/busybox/networking/nc.c
diff options
context:
space:
mode:
Diffstat (limited to 'busybox/networking/nc.c')
-rw-r--r--busybox/networking/nc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/busybox/networking/nc.c b/busybox/networking/nc.c
index ab8ec0c..6ce85fe 100644
--- a/busybox/networking/nc.c
+++ b/busybox/networking/nc.c
@@ -161,8 +161,11 @@ int nc_main(int argc, char **argv)
exit(0);
ofd = STDOUT_FILENO;
} else {
- if (nread == 0)
- shutdown(sfd, 1);
+ if (nread <= 0) {
+ shutdown(sfd, 1 /* send */ );
+ close(STDIN_FILENO);
+ FD_CLR(STDIN_FILENO, &readfds);
+ }
ofd = sfd;
}