int session_check_gc(Session *s, bool drop_not_started) {
that puts the session on the manager's gc queue, however this function (session_remove_fifo) is called from session_free(), which is called from the manager's gc queue handler...can you explain why this is needed here?
This does not look right to me:
@@ -951,6 +952,7 @@
free( s->fifo_ path);
s->fifo_ path = NULL; add_to_ gc_queue( s);
}
+ session_
}
int session_ check_gc( Session *s, bool drop_not_started) {
that puts the session on the manager's gc queue, however this function (session_ remove_ fifo) is called from session_free(), which is called from the manager's gc queue handler...can you explain why this is needed here?
The other parts of the patch look good, thanks!