mirror of
https://github.com/tokio-rs/bytes.git
synced 2026-08-07 00:00:13 +02:00
Bytes is a useful tool for managing multiple slices into the same region of memory, and the other things it used to have been removed to reduce complexity. The exact strategy for managing the multiple references is no longer hard-coded, but instead backing by a customizable vtable. - Removed ability to mutate the underlying memory from the `Bytes` type. - Removed the "inline" (SBO) mechanism in `Bytes`. The reduces a large amount of complexity, and improves performance when accessing the slice of bytes, since a branch is no longer needed to check if the data is inline. - Removed `Bytes` knowledge of `BytesMut` (`BytesMut` may grow that knowledge back at a future point.)
25 lines
766 B
Plaintext
25 lines
766 B
Plaintext
# TSAN suppressions file for `bytes`
|
|
|
|
# TSAN does not understand fences and `Arc::drop` is implemented using a fence.
|
|
# This causes many false positives.
|
|
race:Arc*drop
|
|
race:arc*Weak*drop
|
|
|
|
# `std` mpsc is not used in any Bytes code base. This race is triggered by some
|
|
# rust runtime logic.
|
|
race:std*mpsc_queue
|
|
|
|
# Some test runtime races. Allocation should be race free
|
|
race:alloc::alloc
|
|
|
|
# Not sure why this is warning, but it is in the test harness and not the library.
|
|
race:TestEvent*clone
|
|
race:test::run_tests_console::*closure
|
|
|
|
# Probably more fences in std.
|
|
race:__call_tls_dtors
|
|
|
|
# This ignores a false positive caused by `thread::park()`/`thread::unpark()`.
|
|
# See: https://github.com/rust-lang/rust/pull/54806#issuecomment-436193353
|
|
race:pthread_cond_destroy
|