Fixed outoing packet queue handling bug on very high load.
[silc.git] / lib / silcutil / beos / silcbeossockconn.c
index 3b26deec127abe927e45526c0714f5ba7f0f33b2..0786f8b01cf7941b1e81e00c83328be106c1eb95 100644 (file)
@@ -52,6 +52,13 @@ int silc_socket_write(SilcSocketConnection sock)
       return -1;
     }
 
+    if (ret < src->len) {
+      SILC_LOG_DEBUG(("Wrote data %d of %d bytes, will write rest later",
+                     ret, src->len));
+      silc_buffer_pull(src, ret);
+      return -2;
+    }
+
     silc_buffer_pull(src, ret);
   }