-
Notifications
You must be signed in to change notification settings - Fork 390
Closed
Labels
A-concurrencyArea: affects our concurrency (multi-thread) supportArea: affects our concurrency (multi-thread) supportA-data-raceArea: data race detectorArea: data race detectorA-testsArea: affects our test suite or CIArea: affects our test suite or CIC-enhancementCategory: a PR with an enhancement or an issue tracking an accepted enhancementCategory: a PR with an enhancement or an issue tracking an accepted enhancement
Description
Basically, something similar to #2270 for pthread mutex, rwlock, and condvar (but we can use deterministic scheduling by disabling preemption). Commenting out any of the validate_lock_release
, validate_lock_release_shared
, validate_lock_acquire
in src/sync.rs
should give a data race error in some test, and that does not currently happen, at least not for rwlock and condvar -- I assume that's because the standard library has some atomic variables on its own here that induce extra synchronization. So we probably need tests that directly talk to these APIs. (Also note that the pthread primitives are not even used on Linux any more, only on macOS.)
Metadata
Metadata
Assignees
Labels
A-concurrencyArea: affects our concurrency (multi-thread) supportArea: affects our concurrency (multi-thread) supportA-data-raceArea: data race detectorArea: data race detectorA-testsArea: affects our test suite or CIArea: affects our test suite or CIC-enhancementCategory: a PR with an enhancement or an issue tracking an accepted enhancementCategory: a PR with an enhancement or an issue tracking an accepted enhancement