solana/runtime
Greg Fitzgerald 9bbe015a05
Document and clean up AppendVec (#15640)
* Document AppendVec

* Remove the almost-duplicate state in AppendVec

AppendVec was maintaining two offsets, `current_len` and
`append_offset`. Despite the different looking names, the two
values have the same meaning, but were updated at slightly different
times. When appending a batch of accounts, `current_len` updates would
be immediately available to other threads after each append, whereas
`append_offset` would only be updated after its mutex was unlocked.
`append_offset` is redundant. By removing it, we eliminate potential
bugs and no longer need to suppress clippy warnings.

* Remove get_mut() from AppendVec design

Only the offset into the AppendVec memory is thread-safe. The memory
itself is only threadsafe because it is append-only and is otherwise
unprotected. Adding get_mut() would only be safe if the memory was
protected by a ReadWrite lock.
2021-03-03 12:51:48 -08:00
..
benches Re-allow clippy::integer_arithmetic at crate-level 2021-02-17 13:55:08 -07:00
src Document and clean up AppendVec (#15640) 2021-03-03 12:51:48 -08:00
store-tool Only mmap file from snapshot once (#14815) 2021-01-28 08:15:33 -08:00
tests Pacify clippy 2021-02-19 20:08:41 -08:00
.gitignore Revert "Rename solana-runtime to sealevel (#6239)" (#6247) 2019-10-04 19:33:29 -06:00
Cargo.toml Adapt to fs_extra 1.2.0 2021-02-17 12:44:58 -08:00
build.rs Remove frozen ABI modules from solana-sdk 2020-10-20 16:11:30 -07:00