You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thread 1:
Starts a read, getting a sequence number, and reads some of the data.
Other threads:
Successfully perform exactly 2^(mem::size_of::<usize>() - 1) writes, leaving the sequence number effectively unchanged.
Thread 1:
Finishes reading the data, and sees the sequence number unchanged. It then returns the torn read.
On 64-bit machines, this would take a few lifetimes to occur, on 32-bit machines it might require the reader thread to be inactive for around one second.
The text was updated successfully, but these errors were encountered:
This is a ridiculous corner case.
Thread 1:
Starts a read, getting a sequence number, and reads some of the data.
Other threads:
Successfully perform exactly
2^(mem::size_of::<usize>() - 1)
writes, leaving the sequence number effectively unchanged.Thread 1:
Finishes reading the data, and sees the sequence number unchanged. It then returns the torn read.
On 64-bit machines, this would take a few lifetimes to occur, on 32-bit machines it might require the reader thread to be inactive for around one second.
The text was updated successfully, but these errors were encountered: