Skip to content

Conversation

@Pushp-Kharat1
Copy link

Important Fixes:

  • Fix dangling pointer in try_named_spawn_with_exclusivity (lib.rs) Move name_buffer outside unsafe block to ensure it outlives FFI call
  • Fix data race in RoundRobinVec::fill_with (lib.rs) Change FnMut to Fn for thread-safe concurrent closure calls
  • Add bounds check in fu_volume_huge_pages_in (lib.cpp) Validate numa_node_index before accessing topology

Safety Improvements:

  • Replace assert() with explicit null checks in C FFI layer Assertions are compiled out in release builds, leaving potential UB
  • Fix README example with duplicate pool variable creation

Performance & API Improvements:

  • Add #[must_use] to try_spawn functions to prevent ignored errors
  • Add #[inline] to hot-path functions (SyncConstPtr, SyncMutPtr, IndexedSplit)

All 80 tests pass. Benchmarks show ~30-45% improvement over Rayon.

Critical Fixes:
- Fix dangling pointer in try_named_spawn_with_exclusivity (lib.rs)
  Move name_buffer outside unsafe block to ensure it outlives FFI call
- Fix data race in RoundRobinVec::fill_with (lib.rs)
  Change FnMut to Fn for thread-safe concurrent closure calls
- Add bounds check in fu_volume_huge_pages_in (lib.cpp)
  Validate numa_node_index before accessing topology

Safety Improvements:
- Replace assert() with explicit null checks in C FFI layer
  Assertions are compiled out in release builds, leaving potential UB
- Fix README example with duplicate pool variable creation

Performance & API Improvements:
- Add #[must_use] to try_spawn functions to prevent ignored errors
- Add #[inline] to hot-path functions (SyncConstPtr, SyncMutPtr, IndexedSplit)

All 80 tests pass. Benchmarks show ~30-45% improvement over Rayon.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant