e000aa4
From 423cbf4ddca6578b87e0f8a3fc425688cd1ca89c Mon Sep 17 00:00:00 2001
8167548
From: Martin Sehnoutka <msehnout@redhat.com>
e000aa4
Date: Tue, 6 Sep 2016 16:18:39 +0200
Ondřej Lysoněk 7c0626d
Subject: [PATCH 06/59] Close stdin/out/err before listening for incoming
e000aa4
 connections.
8167548
e000aa4
When running vsftpd as a stand-alone FTP daemon, vsftpd
e000aa4
did not close stdin/out/err. This caused the start script
e000aa4
to hang waiting for stdin to close. Before this patch was
e000aa4
applied, one had to hit ctrl+c in order to get shell prompt
e000aa4
back. Correct behavior:
e000aa4
$ /etc/init.d/vsftpd start | tee
e000aa4
Starting vsftpd for vsftpd:                                [  OK  ]
e000aa4
$
8167548
---
8167548
 standalone.c | 3 +++
8167548
 1 file changed, 3 insertions(+)
8167548
8167548
diff --git a/standalone.c b/standalone.c
8167548
index ba01ab1..e0f2d5b 100644
8167548
--- a/standalone.c
8167548
+++ b/standalone.c
8167548
@@ -130,6 +130,9 @@ vsf_standalone_main(void)
3a2847d
       die("could not bind listening IPv6 socket");
3a2847d
     }
3a2847d
   }
3a2847d
+  vsf_sysutil_close(0);
3a2847d
+  vsf_sysutil_close(1);
3a2847d
+  vsf_sysutil_close(2);
6872c71
   retval = vsf_sysutil_listen(listen_sock, VSFTP_LISTEN_BACKLOG);
6872c71
   if (vsf_sysutil_retval_is_error(retval))
6872c71
   {
8167548
-- 
Ondřej Lysoněk 7c0626d
2.14.4
8167548