if (!self)
abort();
- llist_init (&self->node);
-
socklen_t addr_sz = sizeof (self->peer_addr);
self->fd = accept (fd, (struct sockaddr*)&self->peer_addr, &addr_sz);
if (self->fd == -1)
self->base = base;
self->file = NULL;
+ self->tmp_str = NULL;
+ llist_init (&self->tmp_list);
rxpd_buffer_init (&self->in, self);
rxpd_buffer_init (&self->out, self);
if (self)
{
event_del (&self->ev);
- llist_unlink (&self->node);
+ free (self->tmp_str);
+ LLIST_WHILE_HEAD (&self->tmp_list, n)
+ {
+ struct rxpd_rule* node = (struct rxpd_rule*)n;
+ rxpd_rule_delete (node);
+ }
close (self->fd);
}
free (self);
close (fd);
return;
}
- llist_init (&self->tmp_list);
}
if (event == EV_READ)