aboutsummaryrefslogtreecommitdiffstats
path: root/irc.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2006-03-15 19:17:01 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2006-03-15 19:17:01 +0100
commit55cc2be3e83f82b9d26565fce235ccc5a5631c5f (patch)
tree0bb1745ff12a47a5cc259d9676c263b52c0340e3 /irc.c
parent022e77fee802dfc50b8dce51ac10ea0597f7a64a (diff)
Fixed cleanup of connections in (non-forking) daemon mode. (Better handling
of auto_reconnect)
Diffstat (limited to 'irc.c')
-rw-r--r--irc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/irc.c b/irc.c
index 93cbc293..096f9d99 100644
--- a/irc.c
+++ b/irc.c
@@ -231,9 +231,12 @@ void irc_free(irc_t * irc)
g_io_channel_unref( irc->io_channel );
irc_connection_list = g_slist_remove( irc_connection_list, irc );
- for (account = irc->accounts; account; account = account->next)
+ for (account = irc->accounts; account; account = account->next) {
if (account->gc)
- signoff(account->gc);
+ account_offline(account->gc);
+ else if (account->reconnect)
+ g_source_remove(account->reconnect);
+ }
g_free(irc->sendbuffer);
g_free(irc->readbuffer);