mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-03 09:01:52 -05:00
pcm: direct: returning semop error code for semaphore up/down failures
Signed-off-by: Mounesh Sutar <sutar.mounesh@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
1eddf1f918
commit
3f0dc404f1
1 changed files with 8 additions and 2 deletions
|
|
@ -263,7 +263,10 @@ static inline int snd_pcm_direct_semaphore_down(snd_pcm_direct_t *dmix, int sem_
|
||||||
{
|
{
|
||||||
struct sembuf op[2] = { { sem_num, 0, 0 }, { sem_num, 1, SEM_UNDO } };
|
struct sembuf op[2] = { { sem_num, 0, 0 }, { sem_num, 1, SEM_UNDO } };
|
||||||
int err = semop(dmix->semid, op, 2);
|
int err = semop(dmix->semid, op, 2);
|
||||||
if (err == 0) dmix->locked[sem_num]++;
|
if (err == 0)
|
||||||
|
dmix->locked[sem_num]++;
|
||||||
|
else if (err == -1)
|
||||||
|
err = -errno;
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -271,7 +274,10 @@ static inline int snd_pcm_direct_semaphore_up(snd_pcm_direct_t *dmix, int sem_nu
|
||||||
{
|
{
|
||||||
struct sembuf op = { sem_num, -1, SEM_UNDO | IPC_NOWAIT };
|
struct sembuf op = { sem_num, -1, SEM_UNDO | IPC_NOWAIT };
|
||||||
int err = semop(dmix->semid, &op, 1);
|
int err = semop(dmix->semid, &op, 1);
|
||||||
if (err == 0) dmix->locked[sem_num]--;
|
if (err == 0)
|
||||||
|
dmix->locked[sem_num]--;
|
||||||
|
else if (err == -1)
|
||||||
|
err = -errno;
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue