2634 Commits

Author SHA1 Message Date
Jorge Leitao
e31e06c5c2
compat: added AsyncSeek compat (#4078) 2021-09-03 08:54:40 +02:00
ttys3
d0dd74a058
io: add with_capacity for ReaderStream (#4086) 2021-09-02 09:53:23 +02:00
Alice Ryhl
6778a7def6
time: document paused time details better (#4061) 2021-09-01 18:49:50 +02:00
Alice Ryhl
9a97eb36bc
chore: prepare Tokio v1.11.0 (#4083) tokio-1.11.0 2021-08-31 23:26:42 +02:00
Alice Ryhl
1409041525
io: fix fill_buf by not calling poll_fill_buf twice (#4084) 2021-08-31 23:25:52 +02:00
Toby Lawrence
23b0aee5dd
tokio-util: expose key used in DelayQueue's Expired (#4081)
Signed-off-by: Toby Lawrence <toby@nuclearfurnace.com>
2021-08-31 17:09:10 -04:00
Francis Murillo
909d3ec0ff
stream: add From<Receiver<T>> impl for receiver streams (#4080) 2021-08-29 16:30:13 +02:00
Alan Somers
b67d46403f
process: skip the process_kill_on_drop test if bash is not installed. (#4079) 2021-08-29 10:59:58 +02:00
Alice Ryhl
98578a6f4a
stats: initial work on runtime stats (#4043) 2021-08-27 11:40:41 +02:00
Alice Ryhl
8a097d27b5
util: add safety comment to assume_init (#4075) 2021-08-26 23:06:58 +02:00
Eliza Weisman
1e2e38b7cd
sync: use WakeList in Notify and batch_semaphore (#4071)
## Motivation

PR #4055 added a new `WakeList` type, to manage a potentially
uninitialized array when waking batches of wakers. This has the
advantage of not initializing a bunch of empty `Option`s when only a
small number of tasks are being woken, potentially improving performance
in these cases.

Currently, `WakeList` is used only in the IO driver. However,
`tokio::sync` contains some code that's almost identical to the code in
the IO driver that was replaced with `WakeList`, so we can apply the
same optimizations there.

## Solution

This branch changes `tokio::sync::Notify` and
`tokio::sync::batch_semaphore::Semaphore` to use `WakeList` when waking
batches of wakers. This was a pretty straightforward drop-in
replacement.

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
2021-08-26 11:33:22 -07:00
Fedorenko Dmitrij
80bda3bf5f
macros: fix wrong error messages (#4067) 2021-08-25 19:59:41 +02:00
Gleb Pomykalov
51f4f0594c
io: speed-up waking by using uninitialized array (#4055) 2021-08-25 16:18:19 +02:00
Alice Ryhl
897fed1609
ci: fail if valgrind complains (#4066) 2021-08-24 23:35:37 +02:00
Alice Ryhl
fd52f9f66b Merge branch 'merge-1.10.1' into master 2021-08-24 20:50:43 +02:00
Alice Ryhl
dd060b16f5 chore: prepare Tokio v1.10.1 tokio-1.10.1 2021-08-24 17:48:25 +02:00
Alice Ryhl
4152918a39 runtime: fix leak in UnownedTask 2021-08-24 17:48:25 +02:00
Alice Ryhl
7e474640dd
chore: fix chores (#4060) 2021-08-24 14:57:23 +02:00
Nylonicious
84f6845bf2
stream: impl FromIterator for StreamMap (#4052) 2021-08-24 13:21:02 +02:00
Alice Ryhl
2bc9a42d2b
process: add from_std to ChildStd* (#4045) 2021-08-19 09:46:05 +02:00
Christoph Herzog
8aa2bfe23e
watch: make watch::Sender::subscribe public (#3800)
Co-authored-by: Alice Ryhl <aliceryhl@google.com>
2021-08-19 09:43:59 +02:00
Alice Ryhl
5ac32934b4
time: don't panic when Instant is not monotonic (#4044) 2021-08-19 09:41:35 +02:00
Eliza Weisman
d0305d57e5
tracing: change span naming to new console convention (#4042)
Currently, the per-task spans generated by Tokio's `tracing` feature
have the span name "task" and the target "tokio::task". This is because
the console subscriber identified tasks by looking specifically for the
"tokio::task" target.

In tokio-rs/console#41, it was proposed that the console change to a
more generic system for identifying the spans that correspond to tasks,
to allow recording tasks belonging to multiple runtime crates (e.g. an
application that uses Tokio for async tasks and Rayon for CPU-bound
tasks). PR tokio-rs/console#68 changed the console to track any spans
"runtime.spawn", regardless of target (so that the target can be used to
identify the runtime a task came from), with "tokio::task/task" tracked
for backwards-compatibility with the current release version of tokio.

This branch changes Tokio's span naming to the new convention. I also
rearranged a couple fields so that the task's kind field always comes
before the name and spawn location, since it's likely to be the
shortest, and renamed the `function` field on blocking tasks to `fn`,
for brevity's sake.

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
2021-08-16 12:43:34 -07:00
Alice Ryhl
5c19b5a162
time: make Sleep examples easier to find (#4040) 2021-08-15 19:24:04 +02:00
Alice Ryhl
f478647a8e
ci: add readme check to CI (#4039) 2021-08-13 15:05:09 +02:00
Alice Ryhl
c0974bad94
chore: prepare Tokio v1.10.0 (#4038) tokio-1.10.0 2021-08-12 21:55:48 +02:00
Alice Ryhl
b67534a20b
tests: fix flaky test (#4024) 2021-08-12 20:15:06 +02:00
Alice Ryhl
c4e56232ff
sync: use spin_loop_hint instead of yield_now in mpsc (#4037) 2021-08-12 16:03:10 +02:00
Blas Rodriguez Irizar
84c4a6d89f
task: quickly send task to heap on debug mode (#4009) 2021-08-12 15:37:26 +02:00
Alice Ryhl
b501f25202
runtime: give Notified a safe API (#4005) 2021-08-12 10:06:05 +02:00
Alan Somers
032c55e77f
tokio: the test-util feature depends on rt, sync, and time (#4036)
Fixes #4035
2021-08-12 10:04:09 +02:00
Kateřina Churanová
1e95d6994a
chore: explicitly relaxed clippy lint for runtime entry macro (#4030) 2021-08-11 18:16:00 +09:00
LinkTed
362df5a317
io: add test for write_f(32|64)[_le] (#4026) 2021-08-04 18:58:38 +02:00
LinkTed
106bb94896
io: add (read|write)_f(32|64)[_le] methods (#4022) 2021-08-04 13:45:26 +02:00
LinkTed
8198ef3881
chore: fix clippy warnings (#4017) 2021-08-03 10:50:40 +02:00
Alice Ryhl
e66217575b
sync: document when watch::send fails (#4021) 2021-08-03 09:38:58 +02:00
Alice Ryhl
175d84e2b1
chore: fix doc failure in CI on master (#4020) 2021-08-03 09:07:38 +02:00
Alice Ryhl
69a6585429
signal: make windows docs for signal module show up on unix builds (#3770) 2021-08-02 20:55:17 +02:00
Alan Somers
cf02b3f32d
fs: reorganize tokio::fs::file's mock tests (#3988) 2021-07-31 09:55:32 +02:00
Alice Ryhl
d01bda86a4
tests: simplify loom tests (#3995) 2021-07-30 13:03:38 +02:00
Alice Ryhl
e60d7a474b
chore: fix CI on master (#4008) 2021-07-30 12:28:46 +02:00
Alice Ryhl
0d9430b99c
tests: reduce sleep durations (#3994) 2021-07-30 11:27:04 +02:00
quininer
f51676891f
io: fix copy buffered write (#4001) 2021-07-30 11:20:16 +02:00
Alice Ryhl
3340ae6aa9
io: add fill_buf and consume (#3991) 2021-07-30 11:17:40 +02:00
Félix Saparelli
f957f7f9a7
process: add Child::raw_handle() on windows (#3998)
Fixes #3987
2021-07-28 15:42:03 +00:00
Alice Ryhl
8b447649bb
io: document cancellation safety of AsyncBufReadExt (#3997) 2021-07-27 17:59:38 +02:00
Erik Tews
4d8cc28b76
io: add missing Option to doc (#3999) 2021-07-27 16:06:47 +02:00
Alice Ryhl
f2a06bff1b
runtime: add owner id for tasks in OwnedTasks (#3979) 2021-07-27 10:41:35 +02:00
Alice Ryhl
0de05422ce Merge branch 'master' and 'merge-1.8.3' 2021-07-26 21:07:52 +02:00
Alice Ryhl
afb734d189 chore: prepare Tokio v1.8.3 (#3983) tokio-1.8.3 2021-07-26 17:35:40 +02:00