aboutsummaryrefslogtreecommitdiff
path: root/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'server.c')
-rw-r--r--server.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/server.c b/server.c
index 977b864..876849b 100644
--- a/server.c
+++ b/server.c
@@ -448,7 +448,8 @@ server_accept(int fd, short event, void *arg)
event_del(&srv->srv_ev);
evtimer_add(&srv->srv_evt, &evtpause);
- log_debug("%s: deferring connections", __func__);
+ log_debug("%s: deferring connections %d",
+ __func__, getdtablecount());
}
return;
}
@@ -555,14 +556,9 @@ server_close(struct client *clt, const char *msg)
else if (clt->clt_output != NULL)
evbuffer_free(clt->clt_output);
- if (clt->clt_file != NULL)
- bufferevent_free(clt->clt_file);
- if (clt->clt_fd != -1)
- close(clt->clt_fd);
-
if (clt->clt_s != -1) {
close(clt->clt_s);
- if (/* XXX */ -1) {
+ if (clt->clt_fd == -1 && 0) {
/*
* the output was never connected,
* thus this was an inflight client.
@@ -573,6 +569,11 @@ server_close(struct client *clt, const char *msg)
}
}
+ if (clt->clt_file != NULL)
+ bufferevent_free(clt->clt_file);
+ if (clt->clt_fd != -1)
+ close(clt->clt_fd);
+
if (clt->clt_log != NULL)
evbuffer_free(clt->clt_log);