From: Nick Mathewson Date: Fri, 14 Aug 2009 20:06:48 +0000 (+0000) Subject: tab/whitespace fixes in bufferevent_sock.c X-Git-Tag: release-2.0.3-alpha~124 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=eff09a299cb7759a63c988cf542b4eeff7ed0c8f;p=libevent tab/whitespace fixes in bufferevent_sock.c Also note that write() doesn't usually say 0. svn:r1414 --- diff --git a/bufferevent_sock.c b/bufferevent_sock.c index 035add36..3f32b1db 100644 --- a/bufferevent_sock.c +++ b/bufferevent_sock.c @@ -84,7 +84,7 @@ const struct bufferevent_ops bufferevent_ops_socket = { be_socket_disable, be_socket_destruct, be_socket_adj_timeouts, - be_socket_flush, + be_socket_flush, be_socket_ctrl, }; @@ -200,20 +200,23 @@ bufferevent_writecb(evutil_socket_t fd, short event, void *arg) } if (evbuffer_get_length(bufev->output)) { - evbuffer_unfreeze(bufev->output, 1); - res = evbuffer_write(bufev->output, fd); - evbuffer_freeze(bufev->output, 1); - if (res == -1) { + evbuffer_unfreeze(bufev->output, 1); + res = evbuffer_write(bufev->output, fd); + evbuffer_freeze(bufev->output, 1); + if (res == -1) { int err = evutil_socket_geterror(fd); if (EVUTIL_ERR_RW_RETRIABLE(err)) goto reschedule; - what |= BEV_EVENT_ERROR; - } else if (res == 0) { - /* eof case */ - what |= BEV_EVENT_EOF; - } - if (res <= 0) - goto error; + what |= BEV_EVENT_ERROR; + } else if (res == 0) { + /* eof case + XXXX Actually, a 0 on write doesn't indicate + an EOF. An ECONNRESET might be more typical. + */ + what |= BEV_EVENT_EOF; + } + if (res <= 0) + goto error; } if (evbuffer_get_length(bufev->output) == 0) @@ -416,7 +419,7 @@ static int be_socket_flush(struct bufferevent *bev, short iotype, enum bufferevent_flush_mode mode) { - return 0; + return 0; }