From ee7897d5568535cbe03318debcb71632242f27e6 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 14 Mar 2012 11:27:30 +0100 Subject: pingu_adm: allow only one command per connection --- pingu_adm.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'pingu_adm.c') diff --git a/pingu_adm.c b/pingu_adm.c index d0ceb49..b59b9b0 100644 --- a/pingu_adm.c +++ b/pingu_adm.c @@ -27,12 +27,13 @@ struct adm_conn { static void pingu_adm_free_conn(struct ev_loop *loop, struct adm_conn *rm) { - int fd = rm->io.fd; + int fd = rm->io.fd; - ev_io_stop(loop, &rm->io); - ev_timer_stop(loop, &rm->timeout); - close(fd); - free(rm); + ev_io_stop(loop, &rm->io); + ev_timer_stop(loop, &rm->timeout); + close(fd); + free(rm); + log_debug("Admin connection closed"); } static struct { @@ -85,8 +86,6 @@ static void pingu_adm_recv_cb (struct ev_loop *loop, struct ev_io *w, if (adm_handler[i].command == NULL) log_error("%s: unknown admim command", conn->cmd); - return; - err: pingu_adm_free_conn(loop, conn); } -- cgit v1.2.3