Friedel Ziegelmayer
b446cd0230
Merge pull request #748 from async-rs/fix/scheduler-2
...
fix(rt): bring back dynamic machines
2020-04-12 15:22:51 +02:00
Thayne McCombs
db438abb8f
Implement async_std::sync::Condvar ( #369 )
...
* Implement async_std::sync::Condvar
Part of #217
* More rigourous detection of notification for condvar
* Use state of Waker instead of AtomicUsize to keep track of if task was
notified.
* Add test for notify_all
* Implement wait_timeout_until
And add warnings about spurious wakeups to wait and wait_timeout
* Use WakerSet for Condvar
This should also address concerns about spurious wakeups.
* Add test for wait_timeout with no lock held
* Add comments describing AwaitNotify struct
And remove an unnneded comment in a Debug implementation
2020-04-12 13:35:18 +02:00
dignifiedquire
a4e07e345c
fix(rt): bring back dynamic machines
...
Even if we do not make use of the progress blocking, we do need to make use of the dynamic restarting of machines as far as I understand.
Keeps the perf, while removing the regression from #747
2020-04-10 02:22:03 +02:00
dignifiedquire
0c9a66c1f6
fix scheduler loop
...
This now matches more closely the logic as implemented in #631 , and fixes the performance regression as far as I have observed.
Closes #746
2020-04-09 17:02:27 +02:00
Friedel Ziegelmayer
fc4e472599
Merge pull request #733 from k-nasa/new-scheduler
...
New scheduler
2020-04-07 22:50:04 +02:00
k-nasa
088aa5662c
refactor: Remove wrapping cell
2020-04-03 13:38:07 +09:00
Devashish Dixit
68fa054517
Update futures-timer to 3.0.2
2020-03-30 19:30:00 +08:00
k-nasa
11ee2a8985
fix
2020-03-22 19:25:40 +09:00
k-nasa
322911142c
lock processor and remove unsafe Send, Sync
2020-03-22 19:20:01 +09:00
k-nasa
cfaec2aa95
re add spin_lock
2020-03-22 19:19:17 +09:00
k-nasa
6d3ca5a06f
remove poll function
2020-03-21 14:19:38 +09:00
k-nasa
f960776846
fix
2020-03-21 13:40:59 +09:00
k-nasa
24c5dbf949
Remove scheduler state
2020-03-20 23:13:20 +09:00
k-nasa
d7ee29a03f
fix test code
2020-03-19 19:16:12 +09:00
k-nasa
2b44c1be2e
refactor: swap to swap_and_compare
2020-03-19 18:41:00 +09:00
k-nasa
b1ec1ea930
Move Spinlock to sync module
2020-03-19 18:39:01 +09:00
k-nasa
98cbf7f8eb
Restore task::spawn_blocking
2020-03-17 20:54:16 +09:00
k-nasa
84e5c5f351
Merge branch 'master' into new-scheduler
2020-03-17 20:38:19 +09:00
Yoshua Wuyts
b7c7efc797
Update try_channel doctests
2020-03-16 00:05:39 +01:00
Yoshua Wuyts
7885c245c5
recverror
...
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2020-03-15 23:53:03 +01:00
Yoshua Wuyts
7b7b959a6e
mark channel errs as unstable
...
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2020-03-15 23:53:03 +01:00
Yoshua Wuyts
32dce319d3
expose try_recv and try_send on channels
...
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2020-03-15 23:53:03 +01:00
Yoshua Wuyts
49dd02b4de
Make the split struct public
2020-03-15 23:51:19 +01:00
Yoshua Wuyts
bb11c676a1
doctests pass
2020-03-15 23:46:36 +01:00
Yoshua Wuyts
e026b7579a
Merge pull request #703 from spacekookie/recv-docs
...
channel/recv: improving function docs and code example
2020-03-15 14:41:07 +01:00
k-nasa
8931d1464e
fix ci
2020-03-14 22:46:22 +09:00
nasa
cc19592f80
Revert "Stabilize most stream method and remove unnecessary macros"
2020-03-12 18:34:09 +09:00
k-nasa
b95bd6c1fe
fix: Remove unnecessary io modules
2020-03-05 10:34:41 +09:00
k-nasa
1e18839f1f
fix warning
2020-03-04 08:55:37 +09:00
k-nasa
f31878655e
fix: Stabilize stream method
2020-03-04 08:30:45 +09:00
k-nasa
9a62df143f
add whitespace
2020-03-03 23:14:25 +09:00
k-nasa
75223905bd
fix: Stabilize stream most method
2020-03-03 23:12:09 +09:00
k-nasa
be60dd9fe7
fix: Remove unnecessary re-export and macros
2020-03-03 22:50:26 +09:00
k-nasa
23b7c174f3
feat: Stabilize io::Std*Lock
2020-03-03 22:46:18 +09:00
k-nasa
bd60cd9f81
run cargo fmt
2020-02-20 09:03:36 +09:00
Yoshua Wuyts
d87e283215
Update src/lib.rs
2020-02-17 13:38:24 +01:00
Yoshua Wuyts
283a54a155
Update src/lib.rs
2020-02-17 13:36:59 +01:00
Yoshua Wuyts
3719484eba
Update src/lib.rs
...
Co-Authored-By: nasa <htilcs1115@gmail.com>
2020-02-17 13:36:23 +01:00
Katharina Fey
aae835cc14
channel/recv: improving function docs and code example
...
At the moment it's not clear when and why recv returns Option<T>,
instead of just T. This changed comment makes it clear that None will
only be returned once no data will ever be sent again (i.e. after all
senders are gone).
2020-02-12 01:38:20 +01:00
Yoshua Wuyts
d026c44ea3
Document the core feature
...
Follow-up to https://github.com/async-rs/async-std/pull/680
2020-02-04 11:07:50 +01:00
Yoshua Wuyts
125fa5b0a0
Merge pull request #680 from k-nasa/no_std
...
Some modules support no_std
2020-02-04 11:02:19 +01:00
k-nasa
0d90cb07b9
fix: Move extern crate alloc
to lib.rs
2020-02-01 09:49:54 +09:00
Stjepan Glavina
1d875836a2
Implement Clone for TcpStream ( #689 )
...
* Implement Clone for TcpStream
* Update examples
* Remove accidentally added examples
2020-01-28 18:14:16 +01:00
k-nasa
7efe7caf66
fix: Change feature name no-std to alloc
2020-01-28 15:58:46 +09:00
k-nasa
22d929d481
fix import Future
2020-01-28 15:58:46 +09:00
k-nasa
d622ec5d35
feat: Make the stream module no_std
2020-01-28 15:58:46 +09:00
k-nasa
880b7ee987
remove crate::prelude import
2020-01-28 15:58:46 +09:00
k-nasa
1762de285b
feat: Make the future module no_std
2020-01-28 15:58:46 +09:00
k-nasa
6aa55fde59
feat: Make the task module no_std
2020-01-28 15:58:46 +09:00
k-nasa
3d32fd81f4
feat: Make the utils module no_std
2020-01-28 15:58:46 +09:00