X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libevent%2Fbufferevent.c;h=9855d18322c1d93db961d72b65effa4a621f040d;hb=75cceac7017a24e33d65f917155ad0d8b15ef178;hp=4c9e38fa1abca07dab2a7f8ceb1497e5470c5df7;hpb=dd07aea71f86aa97f05db188c49e0a3c035ee41c;p=netatalk.git diff --git a/libevent/bufferevent.c b/libevent/bufferevent.c index 4c9e38fa..9855d183 100644 --- a/libevent/bufferevent.c +++ b/libevent/bufferevent.c @@ -473,6 +473,24 @@ bufferevent_settimeout(struct bufferevent *bufev, } +int +bufferevent_disable_hard(struct bufferevent *bufev, short event) +{ + int r = 0; + struct bufferevent_private *bufev_private = + EVUTIL_UPCAST(bufev, struct bufferevent_private, bev); + + BEV_LOCK(bufev); + bufev->enabled &= ~event; + + bufev_private->connecting = 0; + if (bufev->be_ops->disable(bufev, event) < 0) + r = -1; + + BEV_UNLOCK(bufev); + return r; +} + int bufferevent_disable(struct bufferevent *bufev, short event) {