diff --git a/ChangeLog b/ChangeLog index f896936a..944818e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -30,6 +30,7 @@ Changes in 2.0.3-alpha: o Fix compilation for listener.h for C++ - missing extern "C". Patch from Ferenc Szalai. o Make the event_base_loop() family of functions respect thread-safety better. This should clear up a few hard-to-debug race conditions. o Fix a bug when using a specialized memory allocator on win32. + o Have the win32 select() backend label TCP-socket-connected events as EV_WRITE, not EV_READ. This should bring it in line with the other backends, and improve portability. Patch from Christopher Davis. Changes in 2.0.2-alpha: diff --git a/WIN32-Code/win32.c b/WIN32-Code/win32.c index 3b0e808c..d01b9591 100644 --- a/WIN32-Code/win32.c +++ b/WIN32-Code/win32.c @@ -296,7 +296,7 @@ win32_dispatch(struct event_base *base, struct timeval *tv) } fd_set_copy(win32op->readset_out, win32op->readset_in); - fd_set_copy(win32op->exset_out, win32op->readset_in); + fd_set_copy(win32op->exset_out, win32op->writeset_in); fd_set_copy(win32op->writeset_out, win32op->writeset_in); fd_count = @@ -343,7 +343,7 @@ win32_dispatch(struct event_base *base, struct timeval *tv) if (++i >= win32op->exset_out->fd_count) i = 0; s = win32op->exset_out->fd_array[i]; - evmap_io_active(base, s, EV_READ); + evmap_io_active(base, s, EV_WRITE); } } if (win32op->writeset_out->fd_count) {