debug for compare exchange

master
chenqiuhao 6 years ago
parent ec27ed8d2e
commit ede69959e4

@ -56,7 +56,13 @@ unsafe fn __atomic_compare_exchange<T: PartialEq>(dst: *mut T, expected: *mut T,
let flags = interrupt::disable_and_store(); let flags = interrupt::disable_and_store();
let val = read(dst); let val = read(dst);
let success = val == read(expected); let success = val == read(expected);
write(dst, if success {desired} else {val}); if success {
write(dst, desired);
write(expected, val);
} else {
write(expected, val);
}
interrupt::restore(flags); interrupt::restore(flags);
success success
} }

Loading…
Cancel
Save