diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2006-01-18 23:17:59 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2006-01-18 23:17:59 +0100 |
commit | 4c266f2d79212e4e0ff4b9b33088685a2ec452e4 (patch) | |
tree | 57312efb83e7f4eb1351215dec285d56dc7ebf99 /irc.c | |
parent | 1ea13be2cf335a471f85ea54d610fb91b7d14564 (diff) | |
parent | c1826c6f72d1fe85e1c5decf5207601dac2c23e7 (diff) |
Merged (and adapted) changes from main tree.
Diffstat (limited to 'irc.c')
-rw-r--r-- | irc.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -150,6 +150,20 @@ irc_t *irc_new( int fd ) return( irc ); } +void irc_abort( irc_t *irc ) +{ + irc->status = USTATUS_SHUTDOWN; + if( irc->sendbuffer ) + { + g_source_remove( irc->r_watch_source_id ); + irc->r_watch_source_id = g_timeout_add_full( G_PRIORITY_HIGH, 1000, (GSourceFunc) irc_free, irc, NULL ); + } + else + { + irc_free( irc ); + } +} + static gboolean irc_free_userhash( gpointer key, gpointer value, gpointer data ) { g_free( key ); |