]> granicus.if.org Git - libevent/commitdiff
Small cleanups on freebsd-connect-refused patch.
authorNick Mathewson <nickm@torproject.org>
Sun, 28 Feb 2010 03:27:13 +0000 (22:27 -0500)
committerNick Mathewson <nickm@torproject.org>
Sun, 28 Feb 2010 03:27:13 +0000 (22:27 -0500)
There should be no need to call be_socket_enable: that does an
event_add().  What we really want to do is event_active(), to make
sure that the writecb is executed.

Also, there was one "} if () {" that was missing an else.

I've noted that the return value for evutil_socket_connect() is
getting screwy, but since that isn't an exported function, we can fix
it whenever.

bufferevent_sock.c
evutil.c

index 22e76032f7c74b13f8373abc698e6f66ab067211..d731086f4833c422d0322bfb28cb0462ce49b1cd 100644 (file)
@@ -401,19 +401,17 @@ bufferevent_socket_connect(struct bufferevent *bev,
                        result = 0;
                        goto done;
                }
-       } if (r == 1) {
+       } else if (r == 1) {
                /* The connect succeeded already. How very BSD of it. */
                result = 0;
                bufev_p->connecting = 1;
                event_active(&bev->ev_write, EV_WRITE, 1);
        } else {
                /* The connect failed already.  How very BSD of it. */
-               if (! be_socket_enable(bev, EV_WRITE)) {
-                       bufev_p->connection_refused = 1;
-                       bufev_p->connecting = 1;
-                       result = 0;
-                       goto done;
-               }
+               bufev_p->connection_refused = 1;
+               bufev_p->connecting = 1;
+               result = 0;
+               event_active(&bev->ev_write, EV_WRITE, 1);
        }
 
        goto done;
index 7df02149bc480af3761ee928a69472176f41d3ed..87c66a6e3abe60bab41916292523c346c8b24983 100644 (file)
--- a/evutil.c
+++ b/evutil.c
@@ -355,6 +355,7 @@ evutil_socket_geterror(evutil_socket_t sock)
 }
 #endif
 
+/* XXX we should use an enum here. */
 /* 2 for connection refused, 1 for connected, 0 for not yet, -1 for error. */
 int
 evutil_socket_connect(evutil_socket_t *fd_ptr, struct sockaddr *sa, int socklen)