From 7eb43f1b20d352c69cb888c39409786b7dd78ffe Mon Sep 17 00:00:00 2001
From: Alex Crichton <alex@alexcrichton.com>
Date: Thu, 5 Jan 2017 22:58:37 -0800
Subject: [PATCH] std: Ignore close_read_wakes_up on Windows

It looks like in practice at least this test will not pass on Windows.
Empirically it is prone to blocking forever, presumably because a call to
`shutdown` doesn't actually wake up other threads on Windows.

We don't document this as a guarantee for `shutdown`, nor do we internally rely
on it. This test originated in a time long since passed when it was leveraged
for canceling I/O, but nowadays there's nothing fancy happening in the standard
library so it's not really a productive test anyway, hence just ignoring it on
Windows.

Closes #31657
---
 src/libstd/net/tcp.rs | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs
index 63817c9f10f5f..e4bf25dee8872 100644
--- a/src/libstd/net/tcp.rs
+++ b/src/libstd/net/tcp.rs
@@ -1179,6 +1179,7 @@ mod tests {
     }
 
     #[test]
+    #[cfg(unix)] // test doesn't work on Windows, see #31657
     fn close_read_wakes_up() {
         each_ip(&mut |addr| {
             let a = t!(TcpListener::bind(&addr));