diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2006-01-22 21:33:56 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2006-01-22 21:33:56 +0100 |
commit | a49dcd5c3c6b79470ad71dc45ccf29f65ba2a7f9 (patch) | |
tree | 06a4d77f23d88d7c0c9fd4193e4f29324383dcf0 /bitlbee.c | |
parent | 57c4fc067a4a43cebee74e9d6076eb538986d5cc (diff) |
Fixed the bug that caused a fork() bomb last night.
Diffstat (limited to 'bitlbee.c')
-rw-r--r-- | bitlbee.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -103,10 +103,14 @@ int bitlbee_daemon_init() } else if( i != 0 ) exit( 0 ); - close( 0 ); - close( 1 ); - close( 2 ); + chdir( "/" ); + + /* Sometimes std* are already closed (for example when we're in a RESTARTed + BitlBee process. So let's only close TTY-fds. */ + if( isatty( 0 ) ) close( 0 ); + if( isatty( 0 ) ) close( 1 ); + if( isatty( 0 ) ) close( 2 ); } #endif |