aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/events_libevent.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/events_libevent.c')
-rw-r--r--protocols/events_libevent.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/protocols/events_libevent.c b/protocols/events_libevent.c
index 429ca821..67f973b9 100644
--- a/protocols/events_libevent.c
+++ b/protocols/events_libevent.c
@@ -228,9 +228,14 @@ void closesocket( int fd )
get a little bit messed up. So this little function will remove the handlers
properly before closing a socket. */
- if( ( b_ev = g_hash_table_lookup( read_hash, &fd ) ) || ( b_ev = g_hash_table_lookup( write_hash, &fd ) ) )
+ if( b_ev = g_hash_table_lookup( read_hash, &fd ) )
{
- event_debug( "Warning: Had to clean up some event handlers before closing fd %d.\n", fd );
+ event_debug( "Warning: fd %d still had a read event handler when shutting down.\n", fd );
+ b_event_remove( b_ev->id );
+ }
+ if( b_ev = g_hash_table_lookup( write_hash, &fd ) )
+ {
+ event_debug( "Warning: fd %d still had a write event handler when shutting down.\n", fd );
b_event_remove( b_ev->id );
}