From cc8b1f293a038ad8a756b3a841c129c045e89047 Mon Sep 17 00:00:00 2001 From: Keith Winstein Date: Sun, 15 Apr 2012 12:38:48 -0400 Subject: [PATCH] Forcibly detach earlier in blind effort to fix #114 (needs testing) --- src/frontend/mosh-server.cc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/frontend/mosh-server.cc b/src/frontend/mosh-server.cc index abd33d9..e209ac3 100644 --- a/src/frontend/mosh-server.cc +++ b/src/frontend/mosh-server.cc @@ -307,6 +307,14 @@ int run_server( const char *desired_ip, const char *desired_port, fprintf( stderr, "\nWarning: termios IUTF8 flag not defined.\nCharacter-erase of multibyte character sequence\nprobably does not work properly on this platform.\n" ); #endif /* HAVE_IUTF8 */ + /* close file descriptors */ + if ( !verbose ) { + /* Necessary to properly detach on old versions of sshd (e.g. RHEL/CentOS 5.0). */ + close( STDIN_FILENO ); + close( STDOUT_FILENO ); + close( STDERR_FILENO ); + } + /* Fork child process */ pid_t child = forkpty( &master, NULL, &child_termios, &window_size ); @@ -362,12 +370,6 @@ int run_server( const char *desired_ip, const char *desired_port, } } else { /* parent */ - if ( !verbose ) { - /* Necessary to properly detach on old versions of sshd (e.g. RHEL/CentOS 5.0). */ - close( STDIN_FILENO ); - close( STDOUT_FILENO ); - close( STDERR_FILENO ); - } #ifdef HAVE_UTEMPTER /* make utmp entry */