* Add doc comments explaining hairy bits of thread lifecycle
* Remove t_suicide as it no longer makes sense
* Remove client double-free
* Remove unnecessary THREAD_OFF being used in incorrect pthread context
* Eliminate unnecessary racey access to client's obuf_fifo
* Ensure zserv_process_messages() reschedules itself if it has not
finished its work
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
assert(!client->t_read);
assert(!client->t_write);
+ /*
+ * Ensure these have been nulled. This does not equate to the
+ * associated task(s) being scheduled or unscheduled on the client
+ * pthread's threadmaster.
+ */
+ assert(!client->t_read);
+ assert(!client->t_write);
+
/* Close file descriptor. */
if (client->sock) {
unsigned long nroutes;
struct thread *t_read;
struct thread *t_write;
- /* Thread for delayed close. */
- struct thread *t_suicide;
-
/* default routing table this client munges */
int rtm_table;