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 /cmogstored.h | |
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 'cmogstored.h')
-rw-r--r-- | cmogstored.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cmogstored.h b/cmogstored.h index e6975c3..1134827 100644 --- a/cmogstored.h +++ b/cmogstored.h @@ -417,6 +417,7 @@ void mog_mgmt_post_accept(int fd, struct mog_svc *, union mog_sockaddr *, socklen_t); enum mog_next mog_mgmt_queue_step(struct mog_fd *) MOG_CHECK; void mog_mgmt_quit_step(struct mog_fd *); +void mog_mgmt_drop(struct mog_fd *); /* queue_epoll.c */ struct mog_queue * mog_queue_new(void); @@ -476,6 +477,8 @@ enum mog_next mog_http_queue_step(struct mog_fd *) MOG_CHECK; void mog_http_quit_step(struct mog_fd *); char *mog_http_path(struct mog_http *, char *buf); void mog_http_reset(struct mog_http *); +void mog_http_unlink_ftmp(struct mog_http *); +void mog_http_drop(struct mog_fd *); /* http_dav.c */ void mog_http_delete(struct mog_fd *, char *buf); @@ -507,6 +510,7 @@ int mog_mkpath_for(struct mog_svc *svc, char *path); /* queue_common.c */ struct mog_queue *mog_queue_init(int queue_fd); void mog_queue_stop(struct mog_queue *keep); +void mog_queue_drop(struct mog_fd *); /* fsck_queue.c */ bool mog_fsck_queue_ready(struct mog_fd *mfd) MOG_CHECK; |