diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-09-17 03:46:33 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-09-17 03:46:33 +0000 |
commit | ce6f60854e8d01f7b9d95a8a6812a239ff4aafb0 (patch) | |
tree | 65cf7ed3a9264f026960d6a02811d32af4664247 /sys-apps/busybox/files/busybox-1.19.2-inetd.patch | |
parent | Switch between jobs and cpus, it should be way smarter this way. (diff) | |
download | historical-ce6f60854e8d01f7b9d95a8a6812a239ff4aafb0.tar.gz historical-ce6f60854e8d01f7b9d95a8a6812a239ff4aafb0.tar.bz2 historical-ce6f60854e8d01f7b9d95a8a6812a239ff4aafb0.zip |
Version bump. Also update init.d script for openrc only #383301 by Nathan Phillip Brink.
Package-Manager: portage-2.2.0_alpha58/cvs/Linux x86_64
Diffstat (limited to 'sys-apps/busybox/files/busybox-1.19.2-inetd.patch')
-rw-r--r-- | sys-apps/busybox/files/busybox-1.19.2-inetd.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/sys-apps/busybox/files/busybox-1.19.2-inetd.patch b/sys-apps/busybox/files/busybox-1.19.2-inetd.patch new file mode 100644 index 000000000000..e1395a6b3bd0 --- /dev/null +++ b/sys-apps/busybox/files/busybox-1.19.2-inetd.patch @@ -0,0 +1,47 @@ +--- busybox-1.19.2/networking/inetd.c ++++ busybox-1.19.2-inetd/networking/inetd.c +@@ -1278,6 +1278,7 @@ int inetd_main(int argc UNUSED_PARAM, ch + sep->se_count = 0; + rearm_alarm(); /* will revive it in RETRYTIME sec */ + restore_sigmask(&omask); ++ maybe_close(new_udp_fd); + maybe_close(accepted_fd); + continue; /* -> check next fd in fd set */ + } +@@ -1298,17 +1299,18 @@ int inetd_main(int argc UNUSED_PARAM, ch + bb_perror_msg("vfork"+1); + sleep(1); + restore_sigmask(&omask); ++ maybe_close(new_udp_fd); + maybe_close(accepted_fd); + continue; /* -> check next fd in fd set */ + } + if (pid == 0) + pid--; /* -1: "we did fork and we are child" */ + } +- /* if pid == 0 here, we never forked */ ++ /* if pid == 0 here, we didn't fork */ + + if (pid > 0) { /* parent */ + if (sep->se_wait) { +- /* tcp wait: we passed listening socket to child, ++ /* wait: we passed socket to child, + * will wait for child to terminate */ + sep->se_wait = pid; + remove_fd_from_set(sep->se_fd); +@@ -1345,9 +1347,13 @@ int inetd_main(int argc UNUSED_PARAM, ch + setsid(); + /* "nowait" udp */ + if (new_udp_fd >= 0) { +- len_and_sockaddr *lsa = xzalloc_lsa(sep->se_family); ++ len_and_sockaddr *lsa; ++ int r; ++ ++ close(new_udp_fd); ++ lsa = xzalloc_lsa(sep->se_family); + /* peek at the packet and remember peer addr */ +- int r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT, ++ r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT, + &lsa->u.sa, &lsa->len); + if (r < 0) + goto do_exit1; |