- Timestamp:
- 2006-01-20T12:21:24Z (19 years ago)
- Branches:
- master
- Children:
- 55ec2d6
- Parents:
- 2fa825b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
irc.c
r2fa825b rfc50d48 151 151 } 152 152 153 void irc_abort( irc_t *irc ) 154 { 153 void irc_abort( irc_t *irc, int immed, char *format, ... ) 154 { 155 va_list params; 156 157 if( format != NULL ) 158 { 159 char *reason; 160 161 va_start( params, format ); 162 reason = g_strdup_printf( format, params ); 163 va_end( params ); 164 165 if( !immed ) 166 irc_write( irc, "ERROR :Closing link: %s", reason ); 167 168 ipc_to_master_str( "OPERMSG :Client exiting: %s@%s [%s]\r\n", 169 irc->nick, irc->host, reason" ); 170 171 g_free( reason ); 172 } 173 else 174 { 175 if( !immed ) 176 irc_write( irc, "ERROR :Closing link" ); 177 178 ipc_to_master_str( "OPERMSG :Client exiting: %s@%s [%s]\r\n", 179 irc->nick, irc->host, "No reason given" ); 180 } 181 155 182 irc->status = USTATUS_SHUTDOWN; 156 if( irc->sendbuffer ) 157 { 183 if( irc->sendbuffer && !immed ) 184 { 185 /* We won't read from this socket anymore. Instead, we'll connect a timer 186 to it that should shut down the connection in a second, just in case 187 bitlbee_.._write doesn't do it first. */ 188 158 189 g_source_remove( irc->r_watch_source_id ); 159 190 irc->r_watch_source_id = g_timeout_add_full( G_PRIORITY_HIGH, 1000, (GSourceFunc) irc_free, irc, NULL ); … … 1623 1654 if( rv > 0 ) 1624 1655 { 1625 irc_write( irc, "ERROR :Closing Link: Ping Timeout: %d seconds", rv ); 1626 irc_free( irc ); 1656 irc_abort( irc, "ERROR :Closing Link: Ping Timeout: %d seconds", rv ); 1627 1657 return FALSE; 1628 1658 }
Note: See TracChangeset
for help on using the changeset viewer.