rem: if (SEND_BUFFER( r_buf )<=0) {
add: if (SEND_BUFFER( r_buf )==-1) {
context: inline static void retransmission_handler( void *attr){	struct retr_buf* r_buf ;	enum lists id;	r_buf = (struct retr_buf*)attr;#ifdef EXTRA_DEBUG	if (r_buf->my_T->damocles) {		LOG( L_ERR, "ERROR: transaction %p scheduled for deletion and"			" called from RETR timer\n",r_buf->my_T);		abort();	}	#endif	/*the transaction is already removed from RETRANSMISSION_LIST by timer*/	/* retransmision */	if ( r_buf->activ_type==TYPE_LOCAL_CANCEL 		|| r_buf->activ_type==0 ) {			DBG("DEBUG: retransmission_handler : "				"request resending (t=%p, %.9s ... )\n", 				r_buf->my_T, r_buf->buffer);			if (SEND_BUFFER( r_buf )<=0) {				reset_timer( &r_buf->fr_timer );				fake_reply(r_buf->my_T, r_buf->branch, 503 );				return;			}	} else {			DBG("DEBUG: retransmission_handler : "				"reply resending (t=%p, %.9s ... )\n", 				r_buf->my_T, r_buf->buffer);			t_retransmit_reply(r_buf->my_T);	}	id = r_buf->retr_list;	r_buf->retr_list = id < RT_T2 ? id + 1 : RT_T2;	set_timer(&(r_buf->retr_timer),id < RT_T2 ? id + 1 : RT_T2 );	DBG("DEBUG: retransmission_handler : done\n");}