aboutsummaryrefslogtreecommitdiff
path: root/changes
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-03-15 11:53:01 -0400
committerNick Mathewson <nickm@torproject.org>2017-03-15 12:16:17 -0400
commit44514058b96440eaa1b364b915860ae372207ca6 (patch)
tree02f31e95825f97581fe7775935eecf8432f4412d /changes
parentd642ceb8dff5e837bc0e27f9f50812beece06401 (diff)
downloadtor-44514058b96440eaa1b364b915860ae372207ca6.tar.gz
tor-44514058b96440eaa1b364b915860ae372207ca6.zip
Correctly handle fd-drain errors on windows workqueues
Windows doesn't let you check the socket error for a socket with WSAGetLastError() and getsockopt(SO_ERROR). But getsockopt(SO_ERROR) clears the error on the socket, so you can't call it more than once per error. When we introduced recv_ni to help drain alert sockets, back in 0.2.6.3-alpha, we had the failure path for recv_ni call getsockopt() twice, though: once to check for EINTR and one to check for EAGAIN. Of course, we never got the eagain, so we treated it as an error, and warned about: "No error". The fix here is to have these functions return -errno on failure. Fixes bug 21540; bugfix on 0.2.6.3-alpha.
Diffstat (limited to 'changes')
-rw-r--r--changes/bug215404
1 files changed, 4 insertions, 0 deletions
diff --git a/changes/bug21540 b/changes/bug21540
new file mode 100644
index 0000000000..0cf684b7f2
--- /dev/null
+++ b/changes/bug21540
@@ -0,0 +1,4 @@
+ o Minor bugfixes (windows, relay):
+ - Resolve "Failure from drain_fd: No error" warnings on Windows
+ relays. Fixes bug 21540; bugfix on 0.2.6.3-alpha.
+