]> jfr.im git - solanum.git/blobdiff - ircd/wsproc.c
Track and inform modules of privset changes
[solanum.git] / ircd / wsproc.c
index 83b93a6d268c75c7ee903cffe97fb7eb8c9bd355..0c511c6aa441e2d858bb71b270daa372be949d74 100644 (file)
@@ -37,9 +37,6 @@
 static void ws_read_ctl(rb_fde_t * F, void *data);
 static int wsockd_count;
 
-static char tmpbuf[READBUF_SIZE];
-static char nul = '\0';
-
 #define MAXPASSFD 4
 #define READSIZE 1024
 typedef struct _ws_ctl_buf
@@ -163,6 +160,7 @@ restart_wsockd(void)
        start_wsockd(ServerInfo.wsockd_count);
 }
 
+#if 0
 static void
 ws_killall(void)
 {
@@ -181,6 +179,7 @@ ws_killall(void)
                        free_ws_daemon(ctl);
        }
 }
+#endif
 
 static void
 ws_dead(ws_ctl_t * ctl)
@@ -195,7 +194,7 @@ ws_dead(ws_ctl_t * ctl)
        {
                wsockd_count--;
                ilog(L_MAIN, "wsockd helper died - attempting to restart");
-               sendto_realops_snomask(SNO_GENERAL, L_ALL, "wsockd helper died - attempting to restart");
+               sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "wsockd helper died - attempting to restart");
                start_wsockd(1);
        }
 }
@@ -224,7 +223,7 @@ restart_wsockd_event(void *unused)
        {
                int start = ServerInfo.wsockd_count - get_wsockd_count();
                ilog(L_MAIN, "Attempting to restart wsockd processes");
-               sendto_realops_snomask(SNO_GENERAL, L_ALL, "Attempting to restart wsockd processes");
+               sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "Attempting to restart wsockd processes");
                start_wsockd(start);
        }
 }
@@ -254,7 +253,7 @@ start_wsockd(int count)
        if(wsockd_spin_count > 20 && (rb_current_time() - last_spin < 5))
        {
                ilog(L_MAIN, "wsockd helper is spinning - will attempt to restart in 1 minute");
-               sendto_realops_snomask(SNO_GENERAL, L_ALL,
+               sendto_realops_snomask(SNO_GENERAL, L_NETWIDE,
                                       "wsockd helper is spinning - will attempt to restart in 1 minute");
                rb_event_add("restart_wsockd_event", restart_wsockd_event, NULL, 60);
                wsockd_wait = 1;
@@ -309,10 +308,8 @@ start_wsockd(int count)
                snprintf(s_pid, sizeof(s_pid), "%d", (int)getpid());
                rb_setenv("CTL_PPID", s_pid, 1);
 
-#ifdef _WIN32
-               SetHandleInformation((HANDLE) rb_get_fd(F2), HANDLE_FLAG_INHERIT, 1);
-               SetHandleInformation((HANDLE) rb_get_fd(P1), HANDLE_FLAG_INHERIT, 1);
-#endif
+               rb_clear_cloexec(F2);
+               rb_clear_cloexec(P1);
 
                pid = rb_spawn_process(wsockd_path, (const char **) parv);
                if(pid == -1)
@@ -367,7 +364,6 @@ ws_process_cmd_recv(ws_ctl_t * ctl)
 {
        rb_dlink_node *ptr, *next;
        ws_ctl_buf_t *ctl_buf;
-       unsigned long len;
 
        if(ctl->dead)
                return;
@@ -382,7 +378,7 @@ ws_process_cmd_recv(ws_ctl_t * ctl)
                        break;
                default:
                        ilog(L_MAIN, "Received invalid command from wsockd: %s", ctl_buf->buf);
-                       sendto_realops_snomask(SNO_GENERAL, L_ALL, "Received invalid command from wsockd");
+                       sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, "Received invalid command from wsockd");
                        break;
                }
                rb_dlinkDelete(ptr, &ctl->readq);