Commit Graph

16 Commits

Author SHA1 Message Date
77676ea04d Fix formatting 2022-05-07 16:43:31 +02:00
Benjamin Lerman
6073c6c78d Fix Target for Deref of stdsync::TracingMutexGuard 2022-05-01 16:53:26 +02:00
3b9b908460 Correctly mark mutex reference as unused 2022-05-01 11:50:50 +02:00
158e5353bb Add missing guard type aliases 2021-05-24 20:28:49 +02:00
50e99fd07a Rework dependency-tracking to be poison-free
Now new dependency edges that introduce cycles are simply rejected, not
affecting the overall graph. This simplifies the visible API and also
removes the need to restore the graph.
2021-05-16 14:16:51 +02:00
19973b3919 Implement a tracing wrapper for std::sync::Once. 2021-05-13 15:24:41 +02:00
9e7f2d6a61 Missing Default implementation for TracingRwLock. 2021-05-08 17:10:56 +02:00
514a84f3b5 Minimal documentation for the complete API 2021-05-08 14:58:02 +02:00
eb7abc70ea Derive Default more rather than implement it 2021-05-08 14:28:51 +02:00
050ee27af6 Refactor MutexID to be self tracking
This avoids the need to implement Drop on every wrapped mutex, and
removes the need for unsafe code in this crate.
2021-05-02 11:55:04 +02:00
24c8453496 Document API and design 2021-04-21 20:21:46 +02:00
c196589cfd Implement fast dynamic topsort algorithm 2021-03-27 17:20:37 +01:00
5638ebffd8 Simplify lock guard tracking
Instead of implementing the tracking everywhere, create a RAII-guard
that will track the state as it is held and dropped.
2021-03-20 20:43:05 +01:00
5f2e0e99a8 Use dedicated type for Mutex IDs
This should prevent tiny mistakes in handling the value.
2021-03-19 21:18:50 +01:00
e42d862f19 Implement tracing mutex for RwLock 2021-03-02 21:19:39 +01:00
0b6f8816f8 Split mutex-specific code to separate module. 2021-02-21 17:10:49 +01:00