Commit 10a6e515 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

All close and redirect stdin, stdout, stderr.

parent 04264316
......@@ -72,32 +72,32 @@ lutil_detach( int debug, int do_close )
break;
}
if ( do_close ) {
if ( (sd = open( "/dev/null", O_RDWR )) != -1 ) {
perror("/dev/null");
}
if ( (sd = open( "/dev/null", O_RDWR )) != -1 ) {
perror("/dev/null");
}
for ( i = 0; i < nbits; i++ ) {
if( i == sd ) continue;
/* close stdin, stdout, stderr */
close( STDIN_FILENO );
close( STDOUT_FILENO );
close( STDERR_FILENO );
/* redirect stdin, stdout, stderr to /dev/null */
dup2( sd, STDIN_FILENO );
dup2( sd, STDOUT_FILENO );
dup2( sd, STDERR_FILENO );
close( i );
close( sd );
if( i == STDIN_FILENO ||
i == STDOUT_FILENO ||
i == STDERR_FILENO )
if ( do_close ) {
/* close everything else */
for ( i = 0; i < nbits; i++ ) {
if( i != STDIN_FILENO &&
i != STDOUT_FILENO &&
i != STDERR_FILENO )
{
/* attach /dev/null */
dup2( sd, i );
close( i );
}
}
if( sd != STDIN_FILENO &&
sd != STDOUT_FILENO &&
sd != STDERR_FILENO )
{
/* unless stdin, stdout, or stderr, close /dev/null */
close( sd );
}
}
(void) chdir( "/" );
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment