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
#95 fixed the problem of torn reads/writes caused by the implementation of read/write_obj essentially leveraging the environment specific memcpy, and the implicit assumption that read/write_obj perform atomic accesses up to a certain size at aligned addresses. Meanwhile, we added the load/store operations to Bytes which provide explicit atomic access semantics. We should document that read/write_obj must not be used when atomicity is required, and revert the related changes from #95.
Here are some next steps we should consider:
Explicitly document the semantics of read/write_obj with respect to atomicity.
Reach out to folks using vm-memory and/or discuss here about the implications of the transition.
Consumers of the crate have to replace read/write_objs that are supposed to be atomic with load/stores. Let's do a 0.3.x (or later) release right before removing anything, to help with the transition.
Apply the changes and include them in a 0.4.x (or later).
The text was updated successfully, but these errors were encountered:
#95 fixed the problem of torn reads/writes caused by the implementation of
read/write_obj
essentially leveraging the environment specificmemcpy
, and the implicit assumption thatread/write_obj
perform atomic accesses up to a certain size at aligned addresses. Meanwhile, we added theload/store
operations toBytes
which provide explicit atomic access semantics. We should document thatread/write_obj
must not be used when atomicity is required, and revert the related changes from #95.Here are some next steps we should consider:
read/write_obj
with respect to atomicity.vm-memory
and/or discuss here about the implications of the transition.read/write_obj
s that are supposed to be atomic withload/store
s. Let's do a0.3.x
(or later) release right before removing anything, to help with the transition.0.4.x
(or later).The text was updated successfully, but these errors were encountered: