]> granicus.if.org Git - libevent/commitdiff
Debug new win32 code: make bufferevents test pass.
authorNick Mathewson <nickm@torproject.org>
Thu, 6 Dec 2007 19:18:14 +0000 (19:18 +0000)
committerNick Mathewson <nickm@torproject.org>
Thu, 6 Dec 2007 19:18:14 +0000 (19:18 +0000)
svn:r576

WIN32-Code/win32.c

index 8b61b8c368ee3fb9540e76fb7397489334cd992a..e6c424fc2ddfb0a828762f9f2394866fdc52c01c 100644 (file)
@@ -299,7 +299,7 @@ win32_insert(void *op, struct event *ev)
                ent->read_event = ev;
        }
        if (ev->ev_events & EV_WRITE) {
-               if (do_fd_set(win32op, ent, 1)<0)
+               if (do_fd_set(win32op, ent, 0)<0)
                        return (-1);
                ent->write_event = ev;
        }
@@ -393,20 +393,20 @@ win32_dispatch(struct event_base *base, void *op,
        for (i=0; i<win32op->readset_out->fd_count; ++i) {
                struct event_entry *ent;
                SOCKET s = win32op->readset_out->fd_array[i];
-               if ((ent = get_event_entry(win32op, s, 0)))
+               if ((ent = get_event_entry(win32op, s, 0)) && ent->read_event)
                        event_active(ent->read_event, EV_READ, 1);
        }
        for (i=0; i<win32op->exset_out->fd_count; ++i) {
                struct event_entry *ent;
                SOCKET s = win32op->exset_out->fd_array[i];
-               if ((ent = get_event_entry(win32op, s, 0)))
+               if ((ent = get_event_entry(win32op, s, 0)) && ent->read_event)
                        event_active(ent->read_event, EV_READ, 1);
        }
        for (i=0; i<win32op->writeset_out->fd_count; ++i) {
                struct event_entry *ent;
                SOCKET s = win32op->writeset_out->fd_array[i];
-               if ((ent = get_event_entry(win32op, s, 0)))
-                       event_active(ent->read_event, EV_WRITE, 1);
+               if ((ent = get_event_entry(win32op, s, 0)) && ent->write_event)
+                       event_active(ent->write_event, EV_WRITE, 1);
        }
 
 #if 0