- Timestamp:
- 2008-07-16T23:22:52Z (16 years ago)
- Branches:
- master
- Children:
- 9b55485
- Parents:
- 9730d72 (diff), 6a78c0e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
unix.c
r9730d72 r6738a67 42 42 static void sighandler( int signal ); 43 43 44 int main( int argc, char *argv[] , char **envp)44 int main( int argc, char *argv[] ) 45 45 { 46 46 int i = 0; … … 69 69 if( global.conf->runmode == RUNMODE_INETD ) 70 70 { 71 log_link( LOGLVL_ERROR, LOGOUTPUT_IRC ); 72 log_link( LOGLVL_WARNING, LOGOUTPUT_IRC ); 73 71 74 i = bitlbee_inetd_init(); 72 75 log_message( LOGLVL_INFO, "Bitlbee %s starting in inetd mode.", BITLBEE_VERSION ); … … 75 78 else if( global.conf->runmode == RUNMODE_DAEMON ) 76 79 { 80 log_link( LOGLVL_ERROR, LOGOUTPUT_SYSLOG ); 81 log_link( LOGLVL_WARNING, LOGOUTPUT_SYSLOG ); 82 77 83 i = bitlbee_daemon_init(); 78 84 log_message( LOGLVL_INFO, "Bitlbee %s starting in daemon mode.", BITLBEE_VERSION ); … … 144 150 { 145 151 char *fn = ipc_master_save_state(); 146 char **args;147 int n, i;148 152 149 153 chdir( old_cwd ); 150 154 151 n = 0; 152 args = g_new0( char *, argc + 3 ); 153 args[n++] = argv[0]; 154 if( fn ) 155 { 156 args[n++] = "-R"; 157 args[n++] = fn; 158 } 159 for( i = 1; argv[i] && i < argc; i ++ ) 160 { 161 if( strcmp( argv[i], "-R" ) == 0 ) 162 i += 2; 163 164 args[n++] = argv[i]; 165 } 155 setenv( "_BITLBEE_RESTART_STATE", fn, 1 ); 156 g_free( fn ); 166 157 167 158 close( global.listen_socket ); 168 159 169 execve( args[0], args, envp ); 160 if( execv( argv[0], argv ) == -1 ) 161 /* Apparently the execve() failed, so let's just 162 jump back into our own/current main(). */ 163 /* Need more cleanup code to make this work. */ 164 return 1; /* main( argc, argv ); */ 170 165 } 171 166 … … 228 223 return( (double) time->tv_sec + (double) time->tv_usec / 1000000 ); 229 224 } 225 226
Note: See TracChangeset
for help on using the changeset viewer.