]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - audiod_command.c
sched: Allow more than one running scheduler instance.
[paraslash.git] / audiod_command.c
index 0f7aa7e625ffcd0c7274f16e184f308b0322ceab..adfa07edfc6c603b936cb52df4615323b5d62bb0 100644 (file)
@@ -27,6 +27,7 @@
 #include "fd.h"
 #include "audiod_command_list.h"
 
 #include "fd.h"
 #include "audiod_command_list.h"
 
+extern struct sched sched;
 extern char *stat_item_values[NUM_STAT_ITEMS];
 
 /** Iterate over the array of all audiod commands. */
 extern char *stat_item_values[NUM_STAT_ITEMS];
 
 /** Iterate over the array of all audiod commands. */
@@ -194,7 +195,7 @@ static int get_play_time_slot_num(void)
        FOR_EACH_SLOT(i) {
                struct slot_info *s = &slot[i];
                struct timeval wstime;
        FOR_EACH_SLOT(i) {
                struct slot_info *s = &slot[i];
                struct timeval wstime;
-               if (!s->wns)
+               if (!s->wns || !s->wns[0].btrn)
                        continue;
                btr_get_node_start(s->wns[0].btrn, &wstime);
                if (oldest_slot >= 0 && tv_diff(&wstime, &oldest_wstime, NULL) > 0)
                        continue;
                btr_get_node_start(s->wns[0].btrn, &wstime);
                if (oldest_slot >= 0 && tv_diff(&wstime, &oldest_wstime, NULL) > 0)
@@ -286,7 +287,7 @@ out:
 
 int com_tasks(int fd, __a_unused int argc, __a_unused char **argv)
 {
 
 int com_tasks(int fd, __a_unused int argc, __a_unused char **argv)
 {
-       char *tl = get_task_list();
+       char *tl = get_task_list(&sched);
        int ret = 1;
        if (tl)
                ret = client_write(fd, tl);
        int ret = 1;
        if (tl)
                ret = client_write(fd, tl);
@@ -344,7 +345,7 @@ int com_stat(int fd, int argc, char **argv)
 
 int com_grab(int fd, int argc, char **argv)
 {
 
 int com_grab(int fd, int argc, char **argv)
 {
-       return grab_client_new(fd, argc, argv);
+       return grab_client_new(fd, argc, argv, &sched);
 }
 
 __noreturn int com_term(int fd, __a_unused int argc, __a_unused char **argv)
 }
 
 __noreturn int com_term(int fd, __a_unused int argc, __a_unused char **argv)
@@ -480,7 +481,7 @@ void audiod_status_dump(void)
                        free(new);
        }
 
                        free(new);
        }
 
-       new = uptime_str();
+       new = get_server_uptime_str(now);
        old = stat_item_values[SI_AUDIOD_UPTIME];
        if (!old || strcmp(old, new)) {
                free(old);
        old = stat_item_values[SI_AUDIOD_UPTIME];
        if (!old || strcmp(old, new)) {
                free(old);