Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/tokio-rs/loom
Concurrency permutation testing tool for Rust.
https://github.com/tokio-rs/loom
dc9e91c0a9339f41385bb1b28c4b7c061b245de9 authored over 4 years ago by Linus Färnstrand <[email protected]>
871ff0128888dea307b848549dd0a5692b1e82ad authored over 4 years ago by Linus Färnstrand <[email protected]>
0b092a2e5233cc296a12794b804b1f79ed44f741 authored over 4 years ago by Sean McArthur <[email protected]>
17090402e0055bd27847891278fe0ff91f55f018 authored over 4 years ago by Carl Lerche <[email protected]>
Fixes a RwLock bug where the reader and writer threads were not
correctly enabled / disabled in...
Fixes #134
7b6c911c0f68a93ed173bbd2d918dac3be987f10 authored over 4 years ago by Carl Lerche <[email protected]>d0bdd618d3bcdd0480e3326255628667f939f0bb authored over 4 years ago by Carl Lerche <[email protected]>
9e2dcec844e0c72d32e0085961f4c630327fa0de authored over 4 years ago by Vytautas Astrauskas <[email protected]>
2e030653e78d83a8fb46d808397e693494e3bdcc authored over 4 years ago by Lyubomir Gavadinov <[email protected]>
a755445646a77725961d68e245c1cbd325c5851f authored over 4 years ago by Jon Gjengset <[email protected]>
The real lazy_static uses a lock to avoid races in initialization. We
don't implement that lock...
15553bac39c5b6a10fe6c56ecc59645efe71e7af authored over 4 years ago by Jon Gjengset <[email protected]>
This adds the `lazy_static!` macro from the `lazy_static` crate. We need
to re-implement it bot...
044b5ba9e1f30137ac6d854cb67327663fd5dfdc authored over 4 years ago by Vytautas Astrauskas <[email protected]>
93c96d5ac3de99be623dbb90e0e0493aebccc811 authored over 4 years ago by Carl Lerche <[email protected]>
The thread version vector was not bumped on `UnsafeCell` access. This
caused synchronizations t...
Refs #21
e71deed295dd7f6c9ad455fcb64d15aa320b3207 authored over 4 years ago by Elijah Voigt <[email protected]>2945278a82811820fbaa04fbf443d31a12f6d628 authored over 4 years ago by Sean McArthur <[email protected]>
3483cd61ef5b8149496bc8b07ba8f17185b4d790 authored over 4 years ago by Carl Lerche <[email protected]>
The internals are overhauled to avoid as much allocation as possible.
This is done by leveragin...
An initial pass at tracking backtraces during execution. Currently, only
`Arc::new` is tracked,...
a89fef9f3cfd6c3fa423103b9410a5ba9df4c258 authored almost 5 years ago by Carl Lerche <[email protected]>
0eb1c1791e0b46b3588bdc7ebcdfa8fbd1e588fd authored almost 5 years ago by Carl Lerche <[email protected]>
The previous SeqCst is incorrectly implemented. SeqCst is identical to
AcqRel except that it pr...
a749612132e856945b002581e5cd1c9fb80929fe authored almost 5 years ago by Sean McArthur <[email protected]>
39691b21537e1b6caf1913fa48b6370d10ccbe7b authored about 5 years ago by Carl Lerche <[email protected]>
d9b5c8ed4d69e25f3aa3fe26230705519fc3f16a authored about 5 years ago by Carl Lerche <[email protected]>
Loom uses its own thread implementation using generators. Unfortunately,
this means that thread...
efbba483ec1b17d8c970bc83135074a0414f4912 authored about 5 years ago by Carl Lerche <[email protected]>
This avoids having to recreate the `VersionVec` each time, which results in allocation.
1dfd08bde341c44a6c36f1852ace60a5e1efca10 authored about 5 years ago by Alexey Zatelepin <[email protected]>346d47d6dff7adc733179270557bebae0b857e7d authored about 5 years ago by Alexey Zatelepin <[email protected]>
e44b2e7ec1ca88e210a996902dfdd2f85c1ae373 authored about 5 years ago by Carl Lerche <[email protected]>
7638e9b26ce8a3e8af0543cfed3ebb5d13185c15 authored about 5 years ago by Taiki Endo <[email protected]>
9728fb89158c2f19c685a854a6229323e35f3012 authored about 5 years ago by Carl Lerche <[email protected]>
The loom implementation fo thread-locals appears to work most of the
time. However, in some cas...
Consider the following program (`x` is a shared variable, the `SeqCst`
ordering is assumed):
*...
ed299303926ac6e742c5851ea4338a011440f436 authored about 5 years ago by Carl Lerche <[email protected]>
This does not provide an accurate implementation of `wait_timeout` but
allows unblocking use ca...
Motivation:
Loom's `Mutex` lacks a `try_lock` method like `std::sync::Mutex` has. In
order t...
b96c54337b267aaafc48a62a7b6ad13c9dc8dcca authored about 5 years ago by Carl Lerche <[email protected]>
10cf779447c5c14c94a2bfb66a99a447b039d0c2 authored about 5 years ago by Sean McArthur <[email protected]>
e29a04c3e4868217c9c3c0603d7b9082d4b590d1 authored about 5 years ago by Sean McArthur <[email protected]>
c39e3a2d20f393bcb7fefad67aa29ecf55421d3e authored about 5 years ago by Carl Lerche <[email protected]>
986ca4234400b3232a495943d99244d6af8db37d authored about 5 years ago by Carl Lerche <[email protected]>
A first pass at adding some leak checking to loom + other improvements.
`Arc` is promoted to ...
a857427f0349f48fda5804187d30a0dfc0a462f2 authored about 5 years ago by Carl Lerche <[email protected]>92943fdc03eab461f0fb1b3febd3e9e7d38f88bb authored about 5 years ago by Taiki Endo <[email protected]>
e352ded9887ab0bcc9f868b08ec3bab12b81216e authored about 5 years ago by Taiki Endo <[email protected]>
5d87e2975311190c92307c47314d189ef73f953a authored about 5 years ago by Carl Lerche <[email protected]>
Add a `yield_now` when `register` wakes the given task due to the state
being locked. This beha...
The initial version of the deferred causal cell check simply stored the
result of the check in ...
25efc56a97f85fabc8c218426e4c00911fdd67df authored about 5 years ago by Carl Lerche <[email protected]>
`CausalCell` provides a structure that verifies that the accessing
thread has synchronized appr...
When running a test that uses `loom`'s mock threads, all the mock
threads in the test are actua...
Instead of requiring the user to conditionally bound by `Send`, make
Loom types should implemen...
This type is useful for mocking out primitives when writing tests.
e6cc3ab52ba7d044cc47e2e47560b05bf6e7f8e8 authored about 5 years ago by Carl Lerche <[email protected]>
Future `block_on` spuriously polls the future. Ideally, this would be
handled by the notify pri...
An ECS is an entity component system. It is a strategy for storing
objects. Objects are stored ...
f8ef5e1ce86b588979eaf2c3ba7ee6cf64a54e48 authored over 5 years ago by Carl Lerche <[email protected]>
2a565a8f98077a0d0c3d6af262c87aee70efcfed authored over 5 years ago by Carl Lerche <[email protected]>
8cdccc248558073d61b90fde3ce309fbf225bbd2 authored over 5 years ago by Carl Lerche <[email protected]>
ddaab216314527d3b368b78c676ca9f0f24f32d3 authored over 5 years ago by Carl Lerche <[email protected]>
5a961066c81bedc0e09bcaa182eeac76e8b4e404 authored over 5 years ago by Carl Lerche <[email protected]>
f60cab208b8deba968924db9ce4fc1575bcff60a authored over 5 years ago by Carl Lerche <[email protected]>
ecce8c7624b2a9f6496a530be9faabc376600374 authored over 5 years ago by Léo Gaspard <[email protected]>
ddcbdec6523a790cf158bc26e511fa2fb4d70cbc authored over 5 years ago by Carl Lerche <[email protected]>
Only unpark the future's executor thread if it parked because the future
returned `Poll::Pendin...
4b0c65be11d57b5eb832d332fe296d501febc6bf authored over 5 years ago by Carl Lerche <[email protected]>
- `CausalCell` now also keeps track of closure of immutable access times.
- Mutable access now ...
256b55fef1efd1be08f92e9f204656b2f6547f17 authored over 5 years ago by Carl Lerche <[email protected]>
d71e44c7905044bceee094f34fc26fa7b8eedd0b authored over 5 years ago by Philip Kannegaard Hayes <[email protected]>
eb7ba487006e527fde1a3fa8eae0a14a51f5ff58 authored over 5 years ago by Sean McArthur <[email protected]>
8f88444b60ce2c359c9f041b5de3cde9b07fd9e7 authored over 5 years ago by Sean McArthur <[email protected]>
d79fb7c1c50357fba26dc94e4ebbeefe05e2209e authored over 5 years ago by Josh Mcguigan <[email protected]>
953b3b33f735122534a00c1cd1a06cbd49191f55 authored over 5 years ago by Carl Lerche <[email protected]>
9e506d544809032750406005cf24e42f0a302aa4 authored over 5 years ago by Taiki Endo <[email protected]>
58c11f9b7c10b385b5dce284e908dadacd52df6c authored over 5 years ago by Carl Lerche <[email protected]>
87b582a8023be4cd07fa50eb2c315154685fb5a1 authored over 5 years ago by Carl Lerche <[email protected]>
8b4234ef08e42411cc211c15f8c108449c314e24 authored over 5 years ago by Carl Lerche <[email protected]>
66ff33cc4bd86d82ce834b83fb725aa27ab5e94e authored over 5 years ago by Carl Lerche <[email protected]>
15d2d667f76a4c94bcb72fda2cac9d913c53fbf5 authored over 5 years ago by Taiki Endo <[email protected]>
e6618d8ce963e54451e8033005099102a8081ee4 authored over 5 years ago by Carl Lerche <[email protected]>
Add support for preemption bounded DPOR.
This also reverts commit a2db612da472ba18c1d12e27ead...
b9d5a95cb102d849257d2c28bf8a6c24fce943e8 authored over 5 years ago by Carl Lerche <[email protected]>2b320d35a70f24e715b9c96049387525852524ab authored over 5 years ago by Carl Lerche <[email protected]>
0909ed1b56aeaf376c7907cd2ea084fa01afb911 authored over 5 years ago by Carl Lerche <[email protected]>
3b6f6f7ca6746db9252cfa6fc8f1da2efa456f65 authored over 5 years ago by Carl Lerche <[email protected]>
399c07193aa8e05882ba72b33c842bd4e9be83ed authored over 5 years ago by Carl Lerche <[email protected]>
a2db612da472ba18c1d12e27ead711534eb3cd06 authored over 5 years ago by Sean McArthur <[email protected]>
cc46b975b3044d2ce70eb80a6a81f9867d7ae703 authored over 5 years ago by Carl Lerche <[email protected]>
Doing this confuses rustfmt.
b069f70cd1a94b36adb08986c5b5a2473c7ccbb7 authored over 5 years ago by Carl Lerche <[email protected]>196210348efc074a1f05a5dd46b6eaee57f616de authored over 5 years ago by Carl Lerche <[email protected]>
d8c2d8bb8c5170e59639b73bc762d871a2057eb3 authored over 5 years ago by Carl Lerche <[email protected]>
1e327348ae738ab83765f246eae05cc8e44e38f4 authored over 5 years ago by Carl Lerche <[email protected]>
981e6f60db2b71c515ab46c4c68c1d975220ce6e authored over 5 years ago by whentze <[email protected]>
2f735ffc5485edd98cb8158212dcf89bad1ad98b authored almost 6 years ago by Carl Lerche <[email protected]>
This is needed when `CausalCell` instances are accessed on drop.
88217fb1d288e95e7b3f59fae3408188e58c7c98 authored almost 6 years ago by Carl Lerche <[email protected]>40c1e00fd85d0012b2dbc158492ff08e0aeb9f4a authored almost 6 years ago by Carl Lerche <[email protected]>
c0748ae8cf5a9b909c0981a8314e16b034b294a8 authored almost 6 years ago by Carl Lerche <[email protected]>
655c04527bf8c48ccb57abea0ce1b5ca35c1f091 authored almost 6 years ago by Carl Lerche <[email protected]>
The arena implementation does not work on windows. Also, the arena isn't
used at the moment. Thi...
fc737ab597fb432d0f74c32ece7a241b2c1786a7 authored almost 6 years ago by Carl Lerche <[email protected]>