Set a flag if we've sent the player process SIGSTOP so that we know not to

wait for it to complete an action which it never will.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6488 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
J. Alexander Treuman
2007-06-04 23:14:38 +00:00
parent 10860b33d4
commit 01faa6f4e3
3 changed files with 11 additions and 3 deletions

View File

@@ -110,11 +110,13 @@ void player_sigChldHandler(int pid, int status)
int playerInit(void)
{
PlayerControl *pc = &(getPlayerData()->playerControl);
int pid;
pid = player_pid;
if (pid > 0) {
kill(pid, SIGCONT);
pc->wait = 0;
return 0;
}
@@ -124,8 +126,6 @@ int playerInit(void)
{
clock_t start = clock();
PlayerControl *pc = &(getPlayerData()->playerControl);
unblockSignals();
setSigHandlersForDecoder();
@@ -184,16 +184,22 @@ int playerInit(void)
int playerWait(int fd)
{
PlayerControl *pc = &(getPlayerData()->playerControl);
int pid;
if (pc->wait)
return 0;
if (playerStop(fd) < 0)
return -1;
playerCloseAudio();
pid = player_pid;
if (pid > 0)
if (pid > 0) {
pc->wait = 1;
kill(pid, SIGSTOP);
}
return 0;
}