diff options
author | Eric Wong <normalperson@yhbt.net> | 2013-07-17 01:39:24 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2013-07-17 01:44:00 +0000 |
commit | 7c49988ebf5c176cadd4a9e287e443d49a2cdeec (patch) | |
tree | 0b41e3d84ae2d6b607852003d08273bbb355221e /http.c | |
parent | 2869d2bf7a24a0b42bde738589221def0289ce54 (diff) | |
download | cmogstored-7c49988ebf5c176cadd4a9e287e443d49a2cdeec.tar.gz |
I needed to spend time to convince myself this was safe, so leave a note to others (and future self) in case there is cause for concern. Basically, this is highly dependent on our overall one-shot-based concurrency model and safe as long as basic rules are followed.
Diffstat (limited to 'http.c')
-rw-r--r-- | http.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -122,7 +122,14 @@ void mog_http_unlink_ftmp(struct mog_http *http) file->tmppath, http->svc->docroot); } -/* called if epoll/kevent is out-of-space */ +/* + * called only if epoll/kevent is out-of-space + * Note: it's impossible for this to be called while this mfd is + * inside an ioq SIMPLEQ, however mfd->ioq_blocked /may/ be true when + * this function is called. We could add validation code to ensure + * this remains true, but that would increase the size of "struct mog_fd", + * so we will rely on this comment instead. + */ void mog_http_drop(struct mog_fd *mfd) { struct mog_http *http = &mfd->as.http; |