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
 |