Fix cs_put may reconnect if send fails YAZ-798
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 4 Nov 2014 10:21:58 +0000 (11:21 +0100)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 4 Nov 2014 10:21:58 +0000 (11:21 +0100)
src/tcpip.c

index 3ade82b..e2e2014 100644 (file)
@@ -1328,7 +1328,13 @@ int tcpip_put(COMSTACK h, char *buf, int size)
                 h->io_pending = CS_WANT_WRITE;
                 return 1;
             }
-            return cont_connect(h);
+            if (h->flags & CS_FLAGS_BLOCKING)
+            {
+                h->cerrno = CSYSERR;
+                return -1;
+            }
+            else
+                return cont_connect(h);
         }
         state->written += res;
         TRC(fprintf(stderr, "  Wrote %d, written=%d, nbytes=%d\n",