]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - server.c
Merge branch 't/afs_argv0'
[paraslash.git] / server.c
index 142e2abb4c982457e2b51b250207e4eedeb77605..120fea258a64fdd1bf91e1436f22ee5d7e00a7c0 100644 (file)
--- a/server.c
+++ b/server.c
@@ -434,7 +434,7 @@ err:
        exit(EXIT_FAILURE);
 }
 
-static int init_afs(void)
+static int init_afs(int argc, char **argv)
 {
        int ret, afs_server_socket[2];
        pid_t afs_pid;
@@ -448,6 +448,10 @@ static int init_afs(void)
        if (afs_pid < 0)
                exit(EXIT_FAILURE);
        if (afs_pid == 0) { /* child (afs) */
+               int i;
+               for (i = argc - 1; i >= 0; i--)
+                       memset(argv[i], 0, strlen(argv[i]));
+               sprintf(argv[0], "para_server (afs)");
                close(afs_server_socket[0]);
                afs_init(afs_socket_cookie, afs_server_socket[1]);
        }
@@ -491,7 +495,7 @@ static void server_init(int argc, char **argv)
        init_ipc_or_die(); /* init mmd struct and mmd->lock */
        /* make sure, the global now pointer is uptodate */
        gettimeofday(now, NULL);
-       server_uptime(UPTIME_SET); /* reset server uptime */
+       set_server_start_time(now);
        init_user_list(user_list_file);
        /* become daemon */
        if (conf.daemon_given)
@@ -514,7 +518,7 @@ static void server_init(int argc, char **argv)
         */
        para_sigaction(SIGCHLD, tmp_sigchld_handler);
        PARA_NOTICE_LOG("initializing the audio file selector\n");
-       afs_socket = init_afs();
+       afs_socket = init_afs(argc, argv);
        init_signal_task();
        PARA_NOTICE_LOG("initializing virtual streaming system\n");
        init_vss_task(afs_socket);
@@ -525,7 +529,7 @@ static void server_init(int argc, char **argv)
 static void status_refresh(void)
 {
        static int prev_uptime = -1, prev_events = -1;
-       int uptime = server_uptime(UPTIME_GET), ret = 1;
+       int uptime = get_server_uptime(now);
 
        if (prev_events != mmd->events)
                goto out;
@@ -540,11 +544,8 @@ out:
        prev_uptime = uptime;
        prev_events = mmd->events;
        mmd->vss_status_flags = mmd->new_vss_status_flags;
-       if (ret) {
-               PARA_DEBUG_LOG("%d events, forcing status update\n",
-                       mmd->events);
-               killpg(0, SIGUSR1);
-       }
+       PARA_DEBUG_LOG("%d events, forcing status update\n", mmd->events);
+       killpg(0, SIGUSR1);
 }
 
 static int server_select(int max_fileno, fd_set *readfds, fd_set *writefds,