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 } };
 | 
			
		||||
	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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue