OSDN Git Service
(root)
/
android-x86
/
external-alsa-lib.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1eddf1f
)
pcm: direct: returning semop error code for semaphore up/down failures
author
Mounesh Sutar
<sutar.mounesh@gmail.com>
Tue, 10 Jan 2017 06:33:17 +0000
(12:03 +0530)
committer
Takashi Iwai
<tiwai@suse.de>
Tue, 10 Jan 2017 08:20:11 +0000
(09:20 +0100)
Signed-off-by: Mounesh Sutar <sutar.mounesh@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/pcm/pcm_direct.h
patch
|
blob
|
history
diff --git
a/src/pcm/pcm_direct.h
b/src/pcm/pcm_direct.h
index
91e816c
..
aee38c5
100644
(file)
--- a/
src/pcm/pcm_direct.h
+++ b/
src/pcm/pcm_direct.h
@@
-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 } };
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;
}
@@
-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 };
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;
}