Added epoll(7) support to SILC Scheduler.
[silc.git] / lib / silcutil / unix / silcunixsocketstream.c
index 8b2f7ff44d2b488e459c38d837bf828dd1068b11..e171369b693a52fa3b00b5631eb7e63c27d4ff98 100644 (file)
@@ -168,8 +168,10 @@ int silc_socket_stream_write(SilcStream stream, const unsigned char *data,
   }
 
   SILC_LOG_DEBUG(("Wrote data %d bytes", ret));
-  silc_schedule_set_listen_fd(sock->schedule, sock->sock,
-                             SILC_TASK_READ, FALSE);
+  if (silc_schedule_get_fd_events(sock->schedule, sock->sock) &
+      SILC_TASK_WRITE)
+    silc_schedule_set_listen_fd(sock->schedule, sock->sock,
+                               SILC_TASK_READ, FALSE);
 
   return ret;
 }