18 lines
		
	
	
	
		
			314 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			18 lines
		
	
	
	
		
			314 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#include <liblockdep/mutex.h>
							 | 
						||
| 
								 | 
							
								#include "common.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void main(void)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									pthread_mutex_t a, b, c, d;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									pthread_mutex_init(&a, NULL);
							 | 
						||
| 
								 | 
							
									pthread_mutex_init(&b, NULL);
							 | 
						||
| 
								 | 
							
									pthread_mutex_init(&c, NULL);
							 | 
						||
| 
								 | 
							
									pthread_mutex_init(&d, NULL);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									LOCK_UNLOCK_2(a, b);
							 | 
						||
| 
								 | 
							
									LOCK_UNLOCK_2(b, c);
							 | 
						||
| 
								 | 
							
									LOCK_UNLOCK_2(c, d);
							 | 
						||
| 
								 | 
							
									LOCK_UNLOCK_2(d, a);
							 | 
						||
| 
								 | 
							
								}
							 |