diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2012-03-14 11:27:30 +0100 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2012-03-14 11:27:30 +0100 |
commit | ee7897d5568535cbe03318debcb71632242f27e6 (patch) | |
tree | 0d11a1c8a74875b7d5eb90aef5dc0ce5a6d3a0d1 /pingu_adm.c | |
parent | 1f9f814770fb61f41122e5408bf62b47f718e6a1 (diff) | |
download | pingu-ee7897d5568535cbe03318debcb71632242f27e6.tar.bz2 pingu-ee7897d5568535cbe03318debcb71632242f27e6.tar.xz |
pingu_adm: allow only one command per connection
Diffstat (limited to 'pingu_adm.c')
-rw-r--r-- | pingu_adm.c | 13 |
1 files changed, 6 insertions, 7 deletions
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); } |