After we thaw a frozen socket, we apparently need to restart the
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 18 Mar 2005 19:47:21 +0000 (19:47 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 18 Mar 2005 19:47:21 +0000 (19:47 +0000)
WSAAsyncSelect or else Windows loses read events.

git-svn-id: svn://svn.tartarus.org/sgt/putty@5521 cda61777-01e9-0310-a592-d414129be87e

windows/winnet.c

index 85e7d0c..8a7580b 100644 (file)
@@ -1516,9 +1516,12 @@ static void sk_tcp_set_frozen(Socket sock, int is_frozen)
     if (s->frozen == is_frozen)
        return;
     s->frozen = is_frozen;
-    if (!is_frozen && s->frozen_readable) {
-       char c;
-       p_recv(s->s, &c, 1, MSG_PEEK);
+    if (!is_frozen) {
+       do_select(s->s, 1);
+       if (s->frozen_readable) {
+           char c;
+           p_recv(s->s, &c, 1, MSG_PEEK);
+       }
     }
     s->frozen_readable = 0;
 }