diff options
Diffstat (limited to 'irc.c')
-rw-r--r-- | irc.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -25,6 +25,7 @@ #define BITLBEE_CORE #include "bitlbee.h" +#include "sock.h" #include "crypting.h" #include "ipc.h" @@ -137,7 +138,7 @@ irc_t *irc_new( int fd ) set_add( &irc->set, "away_devoice", "true", set_eval_away_devoice, irc ); set_add( &irc->set, "auto_connect", "true", set_eval_bool, irc ); set_add( &irc->set, "auto_reconnect", "false", set_eval_bool, irc ); - set_add( &irc->set, "auto_reconnect_delay", "300", set_eval_int, irc ); + set_add( &irc->set, "auto_reconnect_delay", "5*3<900", set_eval_account_reconnect_delay, irc ); set_add( &irc->set, "buddy_sendbuffer", "false", set_eval_bool, irc ); set_add( &irc->set, "buddy_sendbuffer_delay", "200", set_eval_int, irc ); set_add( &irc->set, "charset", "utf-8", set_eval_charset, irc ); @@ -313,7 +314,11 @@ void irc_free( irc_t * irc ) g_free( irc ); - if( global.conf->runmode == RUNMODE_INETD || global.conf->runmode == RUNMODE_FORKDAEMON ) + if( global.conf->runmode == RUNMODE_INETD || + global.conf->runmode == RUNMODE_FORKDAEMON || + ( global.conf->runmode == RUNMODE_DAEMON && + global.listen_socket == -1 && + irc_connection_list == NULL ) ) b_main_quit(); } |