12 lines
		
	
	
		
			250 B
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			12 lines
		
	
	
		
			250 B
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| cat <<EOF
 | |
| static __always_inline bool
 | |
| arch_${atomic}_try_cmpxchg${order}(${atomic}_t *v, ${int} *old, ${int} new)
 | |
| {
 | |
| 	${int} r, o = *old;
 | |
| 	r = arch_${atomic}_cmpxchg${order}(v, o, new);
 | |
| 	if (unlikely(r != o))
 | |
| 		*old = r;
 | |
| 	return likely(r == o);
 | |
| }
 | |
| EOF
 |