diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2006-05-13 11:23:49 +0200 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2006-05-13 11:23:49 +0200 | 
| commit | b642f38161474516c8e9fda1a9942d45a4ea9f22 (patch) | |
| tree | 6c0a929904c89cfaf2a1bd052a36f7c445397b1d | |
| parent | 09f8cd1fedff2022da395d8accc9ac71a16215ea (diff) | |
Added some debugging.
| -rw-r--r-- | protocols/events_libevent.c | 31 | 
1 files changed, 23 insertions, 8 deletions
| diff --git a/protocols/events_libevent.c b/protocols/events_libevent.c index f892e3eb..b9464093 100644 --- a/protocols/events_libevent.c +++ b/protocols/events_libevent.c @@ -80,28 +80,35 @@ static void b_event_passthrough( int fd, short event, void *data )  			cond |= GAIM_INPUT_WRITE;  	} +	event_debug( "b_event_passthrough( %d, %d, 0x%x ) (%d)\n", fd, event, (int) data, b_ev->id ); +	  	if( !b_ev->function( b_ev->data, fd, cond ) ) +	{ +		event_debug( "Handler returned FALSE: " );  		b_event_remove( b_ev->id ); +	}  } -gint b_input_add( gint source, b_input_condition condition, b_event_handler function, gpointer data ) +gint b_input_add( gint fd, b_input_condition condition, b_event_handler function, gpointer data )  {  	struct b_event_data *b_ev = g_new0( struct b_event_data, 1 ); -	GIOCondition cond; +	GIOCondition out_cond;  	b_ev->id = id_next++;  	b_ev->function = function;  	b_ev->data = data; -	cond = EV_PERSIST; +	out_cond = EV_PERSIST;  	if( condition & GAIM_INPUT_READ ) -		cond |= EV_READ; +		out_cond |= EV_READ;  	if( condition & GAIM_INPUT_WRITE ) -		cond |= EV_WRITE; +		out_cond |= EV_WRITE; -	event_set( &b_ev->evinfo, source, cond, b_event_passthrough, b_ev ); +	event_set( &b_ev->evinfo, fd, out_cond, b_event_passthrough, b_ev );  	event_add( &b_ev->evinfo, NULL ); +	event_debug( "b_input_add( %d, %d, 0x%x, 0x%x ) = %d\n", fd, condition, function, data, b_ev->id ); +	  	g_hash_table_insert( id_hash, &b_ev->id, b_ev );  	return b_ev->id; @@ -123,25 +130,33 @@ gint b_timeout_add( gint timeout, b_event_handler function, gpointer data )  	evtimer_set( &b_ev->evinfo, b_event_passthrough, b_ev );  	evtimer_add( &b_ev->evinfo, &tv ); +	event_debug( "b_timeout_add( %d, %d, 0x%x ) = %d\n", timeout, function, data, b_ev->id ); +	  	g_hash_table_insert( id_hash, &b_ev->id, b_ev );  	return b_ev->id;  } -void b_event_remove( gint tag ) +void b_event_remove( gint id )  { -	struct b_event_data *b_ev = g_hash_table_lookup( id_hash, &tag ); +	struct b_event_data *b_ev = g_hash_table_lookup( id_hash, &id ); +	event_debug( "b_event_remove( %d )\n", id );  	if( b_ev )  	{  		event_del( &b_ev->evinfo );  		g_hash_table_remove( id_hash, &b_ev->id );  		g_free( b_ev );  	} +	else +	{ +		event_debug( "Invalid?\n" ); +	}  }  gboolean b_event_remove_by_data( gpointer data )  {  	/* FIXME! */ +	event_debug( "FALSE!\n" );  	return FALSE;  } | 
