aboutsummaryrefslogtreecommitdiffstats
path: root/irc.c
diff options
context:
space:
mode:
Diffstat (limited to 'irc.c')
-rw-r--r--irc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/irc.c b/irc.c
index a6220140..30956bc2 100644
--- a/irc.c
+++ b/irc.c
@@ -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();
}