bufferevent: add debug messages when .setfd/.getfd/.enable/.disable failed

(cherry picked from commit 57765b23c81a9150ca0f77ed5f4d9b64a43cf30d)
This commit is contained in:
Azat Khuzhin 2018-11-20 00:58:47 +03:00 committed by Azat Khuzhin
parent a8cc449ed2
commit 22609d66ef
No known key found for this signature in database
GPG Key ID: B86086848EF8686D

View File

@ -491,6 +491,8 @@ bufferevent_enable(struct bufferevent *bufev, short event)
if (impl_events && bufev->be_ops->enable(bufev, impl_events) < 0) if (impl_events && bufev->be_ops->enable(bufev, impl_events) < 0)
r = -1; r = -1;
if (r)
event_debug(("%s: cannot enable 0x%hx on %p", __func__, event, bufev));
bufferevent_decref_and_unlock_(bufev); bufferevent_decref_and_unlock_(bufev);
return r; return r;
@ -573,6 +575,8 @@ bufferevent_disable(struct bufferevent *bufev, short event)
if (bufev->be_ops->disable(bufev, event) < 0) if (bufev->be_ops->disable(bufev, event) < 0)
r = -1; r = -1;
if (r)
event_debug(("%s: cannot disable 0x%hx on %p", __func__, event, bufev));
BEV_UNLOCK(bufev); BEV_UNLOCK(bufev);
return r; return r;
@ -862,6 +866,8 @@ bufferevent_setfd(struct bufferevent *bev, evutil_socket_t fd)
BEV_LOCK(bev); BEV_LOCK(bev);
if (bev->be_ops->ctrl) if (bev->be_ops->ctrl)
res = bev->be_ops->ctrl(bev, BEV_CTRL_SET_FD, &d); res = bev->be_ops->ctrl(bev, BEV_CTRL_SET_FD, &d);
if (res)
event_debug(("%s: cannot set fd for %p to "EV_SOCK_FMT, __func__, bev, fd));
BEV_UNLOCK(bev); BEV_UNLOCK(bev);
return res; return res;
} }
@ -875,6 +881,8 @@ bufferevent_getfd(struct bufferevent *bev)
BEV_LOCK(bev); BEV_LOCK(bev);
if (bev->be_ops->ctrl) if (bev->be_ops->ctrl)
res = bev->be_ops->ctrl(bev, BEV_CTRL_GET_FD, &d); res = bev->be_ops->ctrl(bev, BEV_CTRL_GET_FD, &d);
if (res)
event_debug(("%s: cannot get fd for %p", __func__, bev));
BEV_UNLOCK(bev); BEV_UNLOCK(bev);
return (res<0) ? -1 : d.fd; return (res<0) ? -1 : d.fd;
} }