Add serviceprobe_delete()

Fixes ticket #60
This commit is contained in:
Andreas Öman 2009-06-04 05:52:14 +00:00
parent da9e6d1fd6
commit ac0100c73d
3 changed files with 18 additions and 1 deletions

View file

@ -59,6 +59,20 @@ serviceprobe_enqueue(th_transport_t *t)
pthread_cond_signal(&serviceprobe_cond);
}
/**
*
*/
void
serviceprobe_delete(th_transport_t *t)
{
if(!t->tht_sp_onqueue)
return;
TAILQ_REMOVE(&serviceprobe_queue, t, tht_sp_link);
t->tht_sp_onqueue = 0;
}
/**
*
*/

View file

@ -23,4 +23,6 @@ void serviceprobe_init(void);
void serviceprobe_enqueue(th_transport_t *t);
void serviceprobe_delete(th_transport_t *t);
#endif /* SERVICEPROBE_H_ */

View file

@ -392,6 +392,8 @@ transport_destroy(th_transport_t *t)
lock_assert(&global_lock);
serviceprobe_delete(t);
while((s = LIST_FIRST(&t->tht_subscriptions)) != NULL) {
subscription_unlink_transport(s);
}
@ -421,7 +423,6 @@ transport_destroy(th_transport_t *t)
free(st);
}
abort();// serviceprobe_delete(t);
transport_unref(t);
}