Commit Graph

66 Commits

Author SHA1 Message Date
bert fd0d05307c Update README and copyright year 2022-05-07 16:54:37 +02:00
bert 2f6e214784 Merge pull request #15 from bertptrs/pre-release-cleanup v0.2.0 2022-05-07 16:50:10 +02:00
bert 3ec7e83e00 Update changelog and version 2022-05-07 16:43:31 +02:00
bert ea8e0208a0 Explicitly test for disallowed self-cycles 2022-05-07 16:43:31 +02:00
bert 8926af4e13 Also deny clippy warnings on other targets 2022-05-07 16:43:31 +02:00
bert 77676ea04d Fix formatting 2022-05-07 16:43:31 +02:00
bert 46c92cfbbf Merge pull request #13 from quisar/add_upgradable 2022-05-06 10:17:54 +02:00
Benjamin Lerman 743cc83669 Add TracingRwLockUpgradableReadGuard wrapper for parking_lot 2022-05-03 10:16:27 +02:00
bert 4faaae8d8f Merge pull request #10 from quisar/fix_locking_issues_in_lockapi 2022-05-02 08:32:13 +02:00
Benjamin Lerman b78af9150d Fix a number of issues in the lockapi wrappers. 2022-05-02 08:20:23 +02:00
bert 515930c0a2 Merge pull request #9 from quisar/prevent-reentrant-locking 2022-05-02 08:13:48 +02:00
Benjamin Lerman b5a5ca16c3 Do not allow recursive locks. 2022-05-02 08:11:37 +02:00
bert aef99d4f65 Merge pull request #8 from quisar/fix_deref 2022-05-02 08:04:55 +02:00
Benjamin Lerman 6073c6c78d Fix Target for Deref of stdsync::TracingMutexGuard 2022-05-01 16:53:26 +02:00
bert cdd44f74fa Merge pull request #11 from bertptrs/fix-bitrot 2022-05-01 14:06:23 +02:00
bert 38b3b226cc Move to edition 2021 altogether 2022-05-01 12:03:50 +02:00
bert 3b9b908460 Correctly mark mutex reference as unused 2022-05-01 11:50:50 +02:00
bert ef421e20eb Deal with IntoIter deprecation 2022-05-01 11:50:37 +02:00
bert 66576e5b0e Merge pull request #5 from bertptrs/benchmarking
Implement minimal benchmarking of dependency tracking
2021-07-10 22:17:44 +02:00
bert 308af218e1 Implement minimal benchmarking of dependency tracking 2021-07-10 22:14:33 +02:00
bert 79ed599a2f Merge pull request #3 from bertptrs/locking-api-support 2021-07-10 17:28:20 +02:00
bert 680e335ccf Document new modules 2021-07-10 17:25:42 +02:00
bert 17761af5a8 Add type aliases for mapped mutex guards 2021-07-10 13:05:41 +02:00
bert 4c70d999d6 Create type aliases for parking_lot::RwLock 2021-07-10 12:17:35 +02:00
bert 618a11f940 Implement a wrapper for parking_lot::Once 2021-05-27 22:19:57 +02:00
bert 77cd603363 Implement minimal mutexes for parking_lot. 2021-05-27 22:00:37 +02:00
bert 73b4c8b1af Minimal parking_lot support 2021-05-27 21:16:24 +02:00
bert b21a63e74b Implement RwLock-based traits for lockapi worker. 2021-05-27 21:16:24 +02:00
bert 6a3cb83d01 Implement Mutex behaviour for lock_api 2021-05-27 21:16:24 +02:00
bert 08cfb17234 Build all features on CI 2021-05-27 21:16:24 +02:00
bert 536ee31138 Prepare for relesae v0.1.2 2021-05-27 21:13:24 +02:00
bert e2db0eaca8 Fix a graph invariant violation on cycle detection 2021-05-27 20:31:00 +02:00
bert 158e5353bb Add missing guard type aliases 2021-05-24 20:28:49 +02:00
bert c4d211a923 Prepare for release v0.1.1 2021-05-24 15:40:30 +02:00
bert f524318bfe Only run CI for pushes to master and PRs. 2021-05-24 15:33:36 +02:00
bert 917906e85e Update README 2021-05-24 15:30:56 +02:00
bert 40e40f658c Merge pull request #1 from bertptrs/improve-digraph 2021-05-24 15:13:37 +02:00
bert ebb8132cf8 Add a fuzz-test for the mutex ID's graph 2021-05-24 15:10:41 +02:00
bert ca12ae6b0e Add changelog 2021-05-24 14:49:48 +02:00
bert d242ac5bc2 Use interior mutability for updating graph order 2021-05-24 14:49:48 +02:00
bert 39b493a871 Merge hash maps in graph structures
This saves quite a few hash-map lookups which improves performance by
about 25%.
2021-05-24 14:49:48 +02:00
bert cca3cf7827 Fix unintentional exponential order ids 2021-05-24 14:49:48 +02:00
bert 6ef9cb12f8 Implement basic fuzz testing for the digraph impl 2021-05-24 14:49:48 +02:00
bert f21631bfde Prepare for release v0.1.0 2021-05-16 15:30:32 +02:00
bert 1ac8c09a82 Add Github Actions for CI 2021-05-16 15:01:10 +02:00
bert 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
bert 440693ab1e Fix unfortunate typo 2021-05-13 17:44:45 +02:00
bert 75df988d8a Document safety of unsafe Sync impl 2021-05-13 17:08:57 +02:00
bert dc299f2f9a Reimplement LazyMutexId using MaybeUninit
This shrinks the type by quite a bit and we don't lose state tracking as
the interal std::sync::Once already keeps track of that.

Also add a test for the new behaviour as this is a lot of unsafe code.
2021-05-13 16:55:41 +02:00
bert 19973b3919 Implement a tracing wrapper for std::sync::Once. 2021-05-13 15:24:41 +02:00