From 6f938b1cc38698e3ac09fecb14b4715605f2698f Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Mon, 29 Aug 2005 17:07:41 +0000 Subject: [PATCH] Fix call of semctl IPC_RMID semctl IPC_RMID removes all semaphore set, so we need to call this only once. --- src/pcm/pcm_direct.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c index 8d70e52b..1e810cbd 100644 --- a/src/pcm/pcm_direct.c +++ b/src/pcm/pcm_direct.c @@ -73,14 +73,10 @@ int snd_pcm_direct_semaphore_create_or_connect(snd_pcm_direct_t *dmix) int snd_pcm_direct_semaphore_discard(snd_pcm_direct_t *dmix) { - int i; - if (dmix->semid < 0) return -EINVAL; - for (i = 0; i < DIRECT_IPC_SEMS; i++) { - if (semctl(dmix->semid, i, IPC_RMID, NULL) < 0) - return -errno; - } + if (semctl(dmix->semid, 0, IPC_RMID, NULL) < 0) + return -errno; dmix->semid = -1; return 0; } -- 2.47.1