diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2015-01-26 15:45:48 +0100 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2015-01-26 15:45:48 +0100 |
| commit | 64b744997ef399809dc4c78ec45ddfbebde3e597 (patch) | |
| tree | de006a73e0bed81071349772a342962935277a0e | |
| parent | 50a6d86520b2c45a70a3d0e2d19fde37c49d8c90 (diff) | |
| download | busybox-w32-64b744997ef399809dc4c78ec45ddfbebde3e597.tar.gz busybox-w32-64b744997ef399809dc4c78ec45ddfbebde3e597.tar.bz2 busybox-w32-64b744997ef399809dc4c78ec45ddfbebde3e597.zip | |
ftpd: prevent zombies. closes 7832
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| -rw-r--r-- | networking/ftpd.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/networking/ftpd.c b/networking/ftpd.c index 6adcb1dee..0c10e1f25 100644 --- a/networking/ftpd.c +++ b/networking/ftpd.c | |||
| @@ -1174,8 +1174,13 @@ int ftpd_main(int argc UNUSED_PARAM, char **argv) | |||
| 1174 | 1174 | ||
| 1175 | //umask(077); - admin can set umask before starting us | 1175 | //umask(077); - admin can set umask before starting us |
| 1176 | 1176 | ||
| 1177 | /* Signals. We'll always take -EPIPE rather than a rude signal, thanks */ | 1177 | /* Signals */ |
| 1178 | signal(SIGPIPE, SIG_IGN); | 1178 | bb_signals(0 |
| 1179 | /* We'll always take EPIPE rather than a rude signal, thanks */ | ||
| 1180 | + (1 << SIGPIPE) | ||
| 1181 | /* LIST command spawns chilren. Prevent zombies */ | ||
| 1182 | + (1 << SIGCHLD) | ||
| 1183 | , SIG_IGN); | ||
| 1179 | 1184 | ||
| 1180 | /* Set up options on the command socket (do we need these all? why?) */ | 1185 | /* Set up options on the command socket (do we need these all? why?) */ |
| 1181 | setsockopt(STDIN_FILENO, IPPROTO_TCP, TCP_NODELAY, &const_int_1, sizeof(const_int_1)); | 1186 | setsockopt(STDIN_FILENO, IPPROTO_TCP, TCP_NODELAY, &const_int_1, sizeof(const_int_1)); |
