Magellan Linux

Annotation of /trunk/busybox/patches/busybox-1.19.2-inetd.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1541 - (hide annotations) (download)
Mon Sep 26 15:52:03 2011 UTC (12 years, 8 months ago) by niro
File size: 1616 byte(s)
-added upstream patches
1 niro 1541 --- busybox-1.19.2/networking/inetd.c
2     +++ busybox-1.19.2-inetd/networking/inetd.c
3     @@ -1278,6 +1278,7 @@ int inetd_main(int argc UNUSED_PARAM, ch
4     sep->se_count = 0;
5     rearm_alarm(); /* will revive it in RETRYTIME sec */
6     restore_sigmask(&omask);
7     + maybe_close(new_udp_fd);
8     maybe_close(accepted_fd);
9     continue; /* -> check next fd in fd set */
10     }
11     @@ -1298,17 +1299,18 @@ int inetd_main(int argc UNUSED_PARAM, ch
12     bb_perror_msg("vfork"+1);
13     sleep(1);
14     restore_sigmask(&omask);
15     + maybe_close(new_udp_fd);
16     maybe_close(accepted_fd);
17     continue; /* -> check next fd in fd set */
18     }
19     if (pid == 0)
20     pid--; /* -1: "we did fork and we are child" */
21     }
22     - /* if pid == 0 here, we never forked */
23     + /* if pid == 0 here, we didn't fork */
24    
25     if (pid > 0) { /* parent */
26     if (sep->se_wait) {
27     - /* tcp wait: we passed listening socket to child,
28     + /* wait: we passed socket to child,
29     * will wait for child to terminate */
30     sep->se_wait = pid;
31     remove_fd_from_set(sep->se_fd);
32     @@ -1345,9 +1347,13 @@ int inetd_main(int argc UNUSED_PARAM, ch
33     setsid();
34     /* "nowait" udp */
35     if (new_udp_fd >= 0) {
36     - len_and_sockaddr *lsa = xzalloc_lsa(sep->se_family);
37     + len_and_sockaddr *lsa;
38     + int r;
39     +
40     + close(new_udp_fd);
41     + lsa = xzalloc_lsa(sep->se_family);
42     /* peek at the packet and remember peer addr */
43     - int r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT,
44     + r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT,
45     &lsa->u.sa, &lsa->len);
46     if (r < 0)
47     goto do_exit1;