Arrange to call net_pending_errors on Unix, which we've never actually
[u/mdw/putty] / unix / uxplink.c
index 37c8533..85f5352 100644 (file)
@@ -585,6 +585,8 @@ static void version(void)
     exit(1);
 }
 
+void frontend_net_error_pending(void) {}
+
 int main(int argc, char **argv)
 {
     int sending;
@@ -886,6 +888,12 @@ int main(int argc, char **argv)
        conf_set_int(conf, CONF_port, portnumber);
 
     /*
+     * Block SIGPIPE, so that we'll get EPIPE individually on
+     * particular network connections that go wrong.
+     */
+    putty_signal(SIGPIPE, SIG_IGN);
+
+    /*
      * Set up the pipe we'll use to tell us about SIGWINCH.
      */
     if (pipe(signalpipe) < 0) {
@@ -1101,6 +1109,8 @@ int main(int argc, char **argv)
            back->unthrottle(backhandle, try_output(TRUE));
        }
 
+        net_pending_errors();
+
        if ((!connopen || !back->connected(backhandle)) &&
            bufchain_size(&stdout_data) == 0 &&
            bufchain_size(&stderr_data) == 0)