summaryrefslogtreecommitdiffstats
path: root/tokio-sync
AgeCommit message (Collapse)Author
2019-10-29sync: move into `tokio` crate (#1705)Carl Lerche
A step towards collapsing Tokio sub crates into a single `tokio` crate (#1318). The sync implementation is now provided by the main `tokio` crate. Functionality can be opted out of by using the various net related feature flags.
2019-10-27Fix docs links: Redux (#1698)Geoff Shannon
2019-10-10sync: fix mem leak in oneshot on task migration (#1648)Carl Lerche
When polling the task, the current waker is saved to the oneshot state. When the handle is migrated to a new task and polled again, the waker must be swaped from the old waker to the new waker. In some cases, there is a potential for the old waker to leak. This bug was caught by loom with the recently added memory leak detection.
2019-09-30Prepare for release of 0.2.0-alpha.6 (#1617)Jon Gjengset
Note that `tokio-timer` and `tokio-tls` become 0.3.0-alpha.6 (not 0.2.0)
2019-09-30chore: update futures-preview to 0.3.0-alpha.19 (#1610)Taiki Endo
2019-09-26Make Barrier::wait future Send (#1611)Jon Gjengset
It wasn't before. Now it is. And that is better.
2019-09-26sync: add `spin_loop_hint` to atomic waker (#1608)Carl Lerche
The algorithm backing `AtomicWaker` effectively uses a spin lock backed by notifying & yielding the current task. This adds a `spin_lock_hint` annotation to cover this case. While, in practice, the omission of `spin_lock_hint` would not cause problems, there are platforms that do not handle spin locks very well and could enter a deadlock in pathological cases.
2019-09-19Release 0.2.0 alpha.5 (#1576)Carl Lerche
2019-09-19sync: add Barrier primitive (#1571)Jon Gjengset
This adds `Barrier` to `tokio-sync`, which is an asynchronous alternative to [`std::sync::Barrier`](https://doc.rust-lang.org/std/sync/struct.Barrier.html). It is a synchronization primitive that allows multiple futures to "rendezvous" at certain points in their execution.
2019-09-19sync: Make Lock more similar to std::sync::Mutex (#1573)Jon Gjengset
This renames `Lock` to `Mutex`, and brings the API more in line with `std::sync::Mutex`. In partcular, locking now only takes `&self`, with the expectation that you place the `Mutex` in an `Arc` (or something similar) to share it between threads. Fixes #1544. Part of #1210.
2019-09-19chore: deny warnings for doc tests (#1539)Taiki Endo
2019-09-13Add broken feature to old benchmarks (#1555)Lucio Franco
Signed-off-by: Lucio Franco <luciofranco14@gmail.com>
2019-09-13sync: replace deprecated mem::uninitialized usage with MaybeUninit (#1540)cynecx
2019-09-13chore: fix docs links (#1523)Geoff Shannon
2019-08-29prepare v0.2.0-alpha.4 (#1509)Sean McArthur
2019-08-28prepare v0.2.0-alpha.3 release (#1505)Carl Lerche
2019-08-20chore: bump to newer nightly (#1485)Taiki Endo
2019-08-18docs: add docs.rs metadata to build with all features (#1471)Ivan Petkov
2019-08-17chore: prepare 0.2.0-alpha.2 release (#1465)Carl Lerche
2019-08-17sync: fix fuzz_oneshot test by using instrumented `loom::sync::Arc` (#1464)Philip Kannegaard Hayes
Since `tokio_sync::oneshot` makes a `CausalCell::with_mut()` mutable access in the `Inner::drop()`, we must use the instrumented `loom::sync::Arc`. Uncovered by carllerche/loom#42
2019-08-10chore: update futures-preview to 0.3.0-alpha.18 (#1427)Taiki Endo
2019-08-11chore: apply unreachable_pub and missing_debug_implementations to all crates ↵Taiki Endo
(#1424)
2019-08-11chore: bump to newer nightly (#1426)Taiki Endo
2019-08-10chore: change default lint level to warning and deny warnings in CI (#1416)Taiki Endo
2019-08-08update (dev dep) env_logger to latest 0.6 (#1390)David Kellum
2019-08-08chore: prepare for v0.2.0-alpha.1 release (#1410)Lucio Franco
2019-08-07sync: track upstream loom changes (#1407)Carl Lerche
2019-08-07chore: enable full CI run (#1399)Carl Lerche
* update all tests * fix doc examples * misc API tweaks
2019-08-07sync: track loom changes (#1405)Carl Lerche
2019-08-06sync: polish and update API doc examples (#1398)Carl Lerche
- Remove `poll_*` fns from some of the sync types. - Move `AtomicWaker` and `Lock` to the root of the `sync` crate.
2019-07-30sync: switch branch of loom dev-dependency to master (#1367)Taiki Endo
* sync: switch branch of loom dev-dependency to master * replace loom::fuzz with loom::model
2019-07-26ci: enable clippy lints (#1335)Taiki Endo
2019-07-20chore: remove redundant field names in struct literals (#1334)Taiki Endo
2019-07-19chore: remove tokio-futures facade crate (#1327)Carl Lerche
This switches from using the tokio-futures facade to referencing futures-* crates directly.
2019-07-16Replace (some) uninitialized with MaybeUninit (#1295)Yin Guanhao
2019-07-15chore: use ready macro from `futures-core` (#1300)Gurwinder Singh
2019-07-10chore: bump to newer nightly (#1284)Carl Lerche
2019-07-08Use Sink trait from futures-sink-preview (#1244)Aaron Hill
2019-07-04chore: Update futures-preview to 0.3.0-alpha.17 (#1267)Taiki Endo
2019-07-03Remove usage of deprecated std::error::Error methods (#1206) (#1245)Steffen Butzer
2019-06-30timer: finish updating timer (#1222)Carl Lerche
* timer: restructure feature flags * update timer tests * Add `async-traits` to CI This also disables a buggy `threadpool` test. This test should be fixed in the future. Refs #1225
2019-06-27sync: change oneshot poll_close to poll_closedSean McArthur
The action of `Sender::poll_close` is to check if the receiver has been closed, not to try to close the sender itself. So change to `poll_closed`.
2019-06-27sync: add async APIs to oneshot and mpsc (#1211)Carl Lerche
Adds: - oneshot::Sender::close - mpsc::Receiver::recv - mpsc::Sender::send Also renames `poll_next` to `poll_recv`. Refs: #1210
2019-06-27chore: format code and enable rustfmt CI task (#1212)Carl Lerche
2019-06-26sync: Fix lock test to actually test the inner lock value (#1197)Lucio Franco
* sync: Fix lock test to actually test the returned value * Update lock test to use task.poll
2019-06-25sync: Add LockFuture for Lock (#1184)Lucio Franco
2019-06-24Update Tokio to use `std::future`. (#1120)Carl Lerche
A first pass at updating Tokio to use `std::future`. Implementations of `Future` from the futures crate are updated to implement `Future` from std. Implementations of `Stream` are moved to a feature flag. This commits disables a number of crates that have not yet been updated.
2019-06-05Merge branch 'v0.1.x' into merge-0.1Carl Lerche
2019-06-05Bump `tokio-sync` to 0.1.6 (#1123)Kevin Leimkuhler
2019-06-04sync: Add Sync impl for Lock (#1117)Kevin Leimkuhler