X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=command.c;h=3932ed2215691ea12fbbf04b7c7de9884c4cce4b;hp=b63eef040994e8b26e78c2ca868eccb5984e580f;hb=8694f85b70488f2cdb48a1e853bdfae68dabc99f;hpb=0228212677da799b95a2b342bbff6675040aadcb diff --git a/command.c b/command.c index b63eef04..3932ed22 100644 --- a/command.c +++ b/command.c @@ -61,17 +61,20 @@ static void mmd_dup(struct misc_meta_data *new_mmd) } /* - * compute human readable string containing - * vss status for given integer value + * Compute human readable string containing vss status for given integer value. + * + * We don't want to use vss_playing() and friends here because we take a + * snapshot of the mmd struct and use the copy for computing the state of the + * vss. If the real data were used, we would take the mmd lock for a rather + * long time or risk to get an inconsistent view. */ static char *vss_status_tohuman(unsigned int flags) { if (flags & VSS_PLAYING) return para_strdup("playing"); - else if (flags & VSS_NEXT) + if (flags & VSS_NEXT) return para_strdup("stopped"); - else - return para_strdup("paused"); + return para_strdup("paused"); } /* @@ -277,7 +280,8 @@ int com_si(int fd, int argc, __a_unused char * const * argv) } ut = uptime_str(); ret = send_va_buffer(fd, "up: %s\nplayed: %u\n" - "pid: %d\n" + "server_pid: %d\n" + "afs_pid: %d\n" "connections (active/accepted/total): %u/%u/%u\n" "current loglevel: %i\n" "supported audio formats: %s\n" @@ -285,6 +289,7 @@ int com_si(int fd, int argc, __a_unused char * const * argv) "%s", ut, mmd->num_played, (int)getppid(), + (int)mmd->afs_pid, mmd->active_connections, mmd->num_commands, mmd->num_connects,