Replace the common worker pool and debug pthread wrappers with ABI-compatible Rust implementations. The pool preserves bounded-queue, resize, drain-on-free, custom-allocator, and no-thread behavior while C supplies only the build-time multithreading configuration bit. This moves runtime support without changing C tests or public headers. Codec and CLI implementations remain C while their dependencies are migrated. Test Plan: - cargo fmt --check - cargo test --all-targets - cargo clippy --all-targets -- -D warnings - cargo build --release - make -C tests poolTests - ./tests/poolTests - compile pool and threading shims with -Werror in MT and no-thread modes Refs: rust/README.md
7 lines
295 B
C
7 lines
295 B
C
#include "threading.h"
|
|
|
|
/* The platform-specific functions declared by threading.h are implemented in
|
|
* rust/src/threading.rs. Keep a symbol for configurations where threading.h
|
|
* only defines macros and this translation unit would otherwise be empty. */
|
|
int g_ZSTD_threading_useless_symbol;
|