X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=blobdiff_plain;f=libevent%2Fbufferevent_sock.c;h=9050eda2abb08510f26c4157313408a0fce7f4f5;hp=1d76ea14b0b6bf0a936bdd303f379b75e50e3c74;hb=3a84db87064922ad10ac10cc1d6833380e575995;hpb=313b5f94348618d65523c1d8bde1fba9988f040a diff --git a/libevent/bufferevent_sock.c b/libevent/bufferevent_sock.c index 1d76ea14..9050eda2 100644 --- a/libevent/bufferevent_sock.c +++ b/libevent/bufferevent_sock.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007-2010 Niels Provos and Nick Mathewson + * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson * Copyright (c) 2002-2006 Niels Provos * All rights reserved. * @@ -113,8 +113,9 @@ bufferevent_socket_outbuf_cb(struct evbuffer *buf, !bufev_p->write_suspended) { /* Somebody added data to the buffer, and we would like to * write, and we were not writing. So, start writing. */ - be_socket_add(&bufev->ev_write, &bufev->timeout_write); - /* XXXX handle failure from be_socket_add */ + if (be_socket_add(&bufev->ev_write, &bufev->timeout_write) == -1) { + /* Should we log this? */ + } } } @@ -327,6 +328,7 @@ bufferevent_socket_new(struct event_base *base, evutil_socket_t fd, return NULL; } bufev = &bufev_p->bev; + evbuffer_set_flags(bufev->output, EVBUFFER_FLAG_DRAINS_TO_FD); event_assign(&bufev->ev_read, bufev->ev_base, fd, EV_READ|EV_PERSIST, bufferevent_readcb, bufev); @@ -451,6 +453,7 @@ bufferevent_connect_getaddrinfo_cb(int result, struct evutil_addrinfo *ai, /* XXX use the other addrinfos? */ /* XXX use this return value */ r = bufferevent_socket_connect(bev, ai->ai_addr, (int)ai->ai_addrlen); + (void)r; _bufferevent_decref_and_unlock(bev); evutil_freeaddrinfo(ai); } @@ -683,6 +686,7 @@ be_socket_ctrl(struct bufferevent *bev, enum bufferevent_ctrl_op op, data->fd = event_get_fd(&bev->ev_read); return 0; case BEV_CTRL_GET_UNDERLYING: + case BEV_CTRL_CANCEL_ALL: default: return -1; }