mirror of https://github.com/trapexit/mergerfs.git
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							64 lines
						
					
					
						
							863 B
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							64 lines
						
					
					
						
							863 B
						
					
					
				| #pragma once | |
|  | |
| #include <cstdlib> | |
|  | |
| #include <pthread.h> | |
|  | |
| #ifndef PTHREAD_MUTEX_ADAPTIVE_NP | |
| # define PTHREAD_MUTEX_ADAPTIVE_NP PTHREAD_MUTEX_NORMAL | |
| #endif | |
|  | |
| 
 | |
| static | |
| inline | |
| void | |
| mutex_init(pthread_mutex_t *mutex_) | |
| { | |
|   int rv; | |
|   pthread_mutexattr_t attr; | |
| 
 | |
|   pthread_mutexattr_init(&attr); | |
|   pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_ADAPTIVE_NP); | |
| 
 | |
|   rv = pthread_mutex_init(mutex_,&attr); | |
|   if(rv != 0) | |
|     abort(); | |
| 
 | |
|   pthread_mutexattr_destroy(&attr); | |
| } | |
| 
 | |
| static | |
| inline | |
| void | |
| mutex_lock(pthread_mutex_t *mutex_) | |
| { | |
|   int rv; | |
| 
 | |
|   rv = pthread_mutex_lock(mutex_); | |
|   if(rv != 0) | |
|     abort(); | |
| } | |
| 
 | |
| static | |
| inline | |
| void | |
| mutex_unlock(pthread_mutex_t *mutex_) | |
| { | |
|   int rv; | |
| 
 | |
|   rv = pthread_mutex_unlock(mutex_); | |
|   if(rv != 0) | |
|     abort(); | |
| } | |
| 
 | |
| static | |
| inline | |
| void | |
| mutex_destroy(pthread_mutex_t *mutex_) | |
| { | |
|   int rv; | |
| 
 | |
|   rv = pthread_mutex_destroy(mutex_); | |
|   if(rv != 0) | |
|     abort(); | |
| }
 |