14 lines · 225 B · Text
RawDownload
cat <<EOFstatic inline bool${atomic}_inc_unless_negative(${atomic}_t *v){	${int} c = ${atomic}_read(v); 	do {		if (unlikely(c < 0))			return false;	} while (!${atomic}_try_cmpxchg(v, &c, c + 1)); 	return true;}EOF