diff options
author | Eric Wong <normalperson@yhbt.net> | 2013-06-21 03:34:38 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2013-06-25 22:07:48 +0000 |
commit | c1ced9e91ddc647a40f343d20d43cf13fe88eeba (patch) | |
tree | 2466104743bc55350f4ac5bb8911bb1322c3ce00 /queue_epoll.c | |
parent | e12e70b6bd242cb3fea74d1df8b7b44e0a9f7f26 (diff) | |
download | cmogstored-c1ced9e91ddc647a40f343d20d43cf13fe88eeba.tar.gz |
Simply releasing the descriptor triggering ENOSPC/ENOMEM errors from epoll_ctl and kevent is not good enough, as those descriptors may have other descriptors (e.g. files to be served) hanging off of them.
Diffstat (limited to 'queue_epoll.c')
-rw-r--r-- | queue_epoll.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/queue_epoll.c b/queue_epoll.c index bc7b513..c704ebb 100644 --- a/queue_epoll.c +++ b/queue_epoll.c @@ -158,7 +158,7 @@ epoll_ctl_error(struct mog_queue *q, struct mog_fd *mfd) case ENOMEM: case ENOSPC: syslog(LOG_ERR, "epoll_ctl: %m, dropping file descriptor"); - mog_fd_put(mfd); + mog_queue_drop(mfd); return; default: syslog(LOG_ERR, "unhandled epoll_ctl() error: %m"); |