From 31db8a02bd74957f9ae836a38043cd9589c2d325 Mon Sep 17 00:00:00 2001 From: Maxime Henrion Date: Thu, 23 May 2013 16:29:17 +0000 Subject: Fix a double close() bug in evhttp when the underlying bufferevent uses BEV_OPT_CLOSE_ON_FREE. --- bufferevent.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'bufferevent.c') diff --git a/bufferevent.c b/bufferevent.c index 49c1f2bc..f2f84438 100644 --- a/bufferevent.c +++ b/bufferevent.c @@ -820,6 +820,18 @@ bufferevent_getfd(struct bufferevent *bev) return (res<0) ? -1 : d.fd; } +enum bufferevent_options +bufferevent_get_options_(struct bufferevent *bev) +{ + struct bufferevent_private *bev_p = + EVUTIL_UPCAST(bev, struct bufferevent_private, bev); + + BEV_LOCK(bev); + return bev_p->options; + BEV_UNLOCK(bev); +} + + static void bufferevent_cancel_all_(struct bufferevent *bev) { -- cgit v1.2.1