diff options
author | Azat Khuzhin <a3at.mail@gmail.com> | 2018-11-11 21:51:46 +0300 |
---|---|---|
committer | Azat Khuzhin <a3at.mail@gmail.com> | 2018-11-13 22:29:08 +0300 |
commit | e73875dfe2f2644c80823b06ebedb2c8fec1a845 (patch) | |
tree | b27244f969ce5dd83c4f652a6f97181ba6f15293 /bufferevent_async.c | |
parent | a54c0349119cde9a000ebb84840c4a4d7ed3d726 (diff) | |
download | libevent-e73875dfe2f2644c80823b06ebedb2c8fec1a845.tar.gz |
bev_async: set "ok" on setfd if fd>=0 (like we do during creation)
Otherwise after .setfd, .enable will not work.
Diffstat (limited to 'bufferevent_async.c')
-rw-r--r-- | bufferevent_async.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/bufferevent_async.c b/bufferevent_async.c index 3f06341f..1cd9e5c3 100644 --- a/bufferevent_async.c +++ b/bufferevent_async.c @@ -663,6 +663,7 @@ be_async_ctrl(struct bufferevent *bev, enum bufferevent_ctrl_op op, data->fd = evbuffer_overlapped_get_fd_(bev->input); return 0; case BEV_CTRL_SET_FD: { + struct bufferevent_async *bev_a = upcast(bev); struct event_iocp_port *iocp; if (data->fd == evbuffer_overlapped_get_fd_(bev->input)) @@ -675,6 +676,7 @@ be_async_ctrl(struct bufferevent *bev, enum bufferevent_ctrl_op op, } evbuffer_overlapped_set_fd_(bev->input, data->fd); evbuffer_overlapped_set_fd_(bev->output, data->fd); + bev_a->ok = data->fd >= 0; return 0; } case BEV_CTRL_CANCEL_ALL: { |