Check that socket is not going away when setting socket to
authorPekka Riikonen <priikone@silcnet.org>
Thu, 16 Jan 2003 16:32:39 +0000 (16:32 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 16 Jan 2003 16:32:39 +0000 (16:32 +0000)
scheduler after QoS.

lib/silcutil/unix/silcunixsockconn.c

index 4d14ac5fc323626aa037aeff5eabedeca60441da..26d9dd73a15e362f138f25281288c11f059ae815 100644 (file)
@@ -74,8 +74,9 @@ SILC_TASK_CALLBACK(silc_socket_read_qos)
 {
   SilcSocketConnection sock = context;
   sock->qos->applied = TRUE;
-  silc_schedule_set_listen_fd(sock->qos->schedule, sock->sock,
-                             (SILC_TASK_READ | SILC_TASK_WRITE), TRUE);
+  if (sock->users > 1)
+    silc_schedule_set_listen_fd(sock->qos->schedule, sock->sock,
+                               (SILC_TASK_READ | SILC_TASK_WRITE), TRUE);
   sock->qos->applied = FALSE;
   silc_socket_free(sock);
 }