3768 Commits

Author SHA1 Message Date
Weijia Jiang
f6eb1ee196
time: lazily init timers on first poll (#6512) 2024-05-03 15:37:52 +02:00
Matthijs Brobbel
b7d4fba707
sync: add mpsc::Receiver::{capacity,max_capacity} (#6511) 2024-05-03 13:44:01 +02:00
Motoyuki Kimura
3c8d8e60ca
chore: fix latest rust-1.78.0 warnings (#6528) 2024-05-03 11:23:25 +02:00
Paolo Barbolini
e971a5e7d7
util: use FIFO ordering in WakeList (#6521) 2024-05-01 14:19:23 +00:00
Paolo Barbolini
28439e2269
time: clean up implementation (#6517) 2024-05-01 14:50:40 +02:00
João Oliveira
d33fdd86a3
time: check for overflow in Interval::poll_tick (#6487) 2024-04-25 09:02:11 +02:00
Valentin
731dde21dc
runtime: clarify misleading use of UnsafeCell::with_mut (#6513)
The code that we're removing calls UnsafeCell::with_mut with the
argument `std::mem::drop`. This is misleading because the use of `drop`
has no effect. `with_mut` takes an argument of type
`impl FnOnce(*mut T) -> R`. The argument to the argument function is a
pointer. Dropping a pointer has no effect.

The comment above the first instance of this pattern claims that this
releases some resource. This is false because the call has no effect.
The intention might have been to drop the value behind the pointer. If
this did happen, it would be a bug because the resource (`waker`) would
be dropped again at the end of the function when the containing object
is dropped.

I looked through the history of this code. This code originally called
`with_mut` with the argument `|_| ()`. Calling `with_mut` with an
argument function that does nothing has a side effect when testing with
loom. When testing with loom, the code uses loom's UnsafeCell type
instead of std's. The intention of the code was likely to make use of
that side effect because we expect to have exclusive access here as we
are going to drop the containing object. The side effect is that loom
checks that Rust's reference uniqueness properties are upheld.

To continue to check this, I have only removed the use of `drop` while
keeping `with_mut`. It would be even better to have loom check this
implicitly when UnsafeCell is dropped. I created an issue about this in
loom [1].

Links: https://github.com/tokio-rs/loom/issues/349 [1]
2024-04-25 09:01:15 +02:00
LongYinan
9ed595767d
wasm: support rt-multi-thread with wasm32-wasi-preview1-threads (#6510) 2024-04-24 09:45:54 +02:00
avtrujillo
a73d6bf33a
macros: #[cfg(not(test))] is no longer necessary for main macros (#6508) 2024-04-23 14:05:14 +02:00
Alex Yusiuk
8093712604
io: add copy_bidirectional_with_sizes (#6500) 2024-04-22 11:03:33 +02:00
Jainil Patel
19618905de
time: fix test-util requirement for pause and resume in docs (#6503) 2024-04-21 14:12:36 +02:00
Motoyuki Kimura
2438b43671
sync: instrument Semaphore for task dumps (#6499) 2024-04-20 12:35:11 +02:00
Kevin Reid
125a185749
io: fix obsolete reference in ReadHalf::unsplit() documentation (#6498) 2024-04-20 14:21:31 +09:00
Kenny
f3bfed30eb
metrics: document Runtime::metrics (#6496) 2024-04-19 10:07:55 +02:00
Alice Ryhl
5ba12a7145
sync: document that Barrier::wait is not cancel safe (#6494)
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
2024-04-18 17:21:34 +02:00
Alice Ryhl
9c6ff3b7e5
sync: explain relation between watch::Sender::{subscribe,closed} (#6490)
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
2024-04-17 16:16:14 +02:00
Alice Ryhl
1f6fc55917
net: add missing types to module docs (#6482)
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
2024-04-13 17:22:11 +02:00
Josh McKinney
a5bd0deaa5
docs: add --locked to cargo install commands (#6479) 2024-04-13 11:44:33 +02:00
Motoyuki Kimura
ee68c1a8c2
sync: add examples for SemaphorePermit, OwnedSemaphorePermit (#6477) 2024-04-12 13:14:08 +02:00
Alice Ryhl
90e20bcad3
sync: use usize instead of u32 for SemaphorePermit::split (#6478)
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
2024-04-11 17:21:55 +00:00
Alice Ryhl
bdf4c142c9
fs: rewrite file system docs (#6467) 2024-04-11 10:33:51 +02:00
David Tolnay
43de364cd9
readme: mention cargo-docs-rs in CONTRIBUTING.md (#6475) 2024-04-11 10:33:01 +02:00
vvvviiv
224fea4f3c
sync: add split method to the semaphore permit (#6472) 2024-04-10 15:55:44 +02:00
Pierre Fenoll
ccee1d4493
task: make LocalKey::get work with Clone types (#6433)
Signed-off-by: Pierre Fenoll <pierrefenoll@gmail.com>
2024-04-10 11:41:58 +02:00
Rafael Bachmann
be9328da75
chore: fix clippy warnings (#6466) 2024-04-08 20:44:18 +09:00
Aoi Kurokawa
b6d74ac4eb
runtime: add links in docs for issues and crates (#6473) 2024-04-08 10:47:57 +02:00
Alice Ryhl
5712aaf995
metrics: ignore worker_steal_count test (#6471) 2024-04-07 16:30:33 +02:00
David Tolnay
431b7c5263
macros: render more comprehensible documentation for select! (#6468) 2024-04-06 22:57:29 +00:00
Quentin Perez
01ed7b55f7
net: add Apple visionOS support (#6465) 2024-04-06 18:09:43 +02:00
Taiki Endo
035a968bdd
chore: fix typo (#6464) 2024-04-06 00:43:13 +09:00
Aoi Kurokawa
a1acfd8c20
readme: add readme for tokio-stream (#6456) 2024-04-03 15:36:08 +09:00
Motoyuki Kimura
328a02c1ce
runtime: improvements for global_queue_interval (#6445) 2024-04-03 14:10:13 +09:00
Bharath Vedartham
e9ae5d4ce9
io: implement AsyncBufRead for Join (#6449)
Fixes: #6446
2024-04-02 13:00:44 +02:00
Jens Reidel
d298049299
codec: make tracing feature optional for codecs (#6434)
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-03-30 18:20:05 +01:00
Timo
1fcb77db34
io: add T: ?Sized to tokio_util::io::poll_read_buf (#6441) 2024-03-30 12:13:06 +00:00
Siech0
3936ebdfe4
chore: update CI to clippy 1.77 (#6443) 2024-03-30 15:49:42 +09:00
Alice Ryhl
9c337ca1a3
chore: prepare Tokio v1.37.0 (#6435) tokio-1.37.0 2024-03-28 17:34:42 +01:00
M.Amin Rayej
e542501439
io: document cancel safety of AsyncBufReadExt::fill_buf (#6431) 2024-03-26 20:45:15 +03:30
M.Amin Rayej
4601c84718
stream: add next_many and poll_next_many to StreamMap (#6409) 2024-03-26 18:38:53 +03:30
M.Amin Rayej
deff2524c3
util: document cancel safety of SinkExt::send and StreamExt::next (#6417) 2024-03-25 01:53:01 +03:30
Matthieu Le brazidec (r3v2d0g)
4565b81097
sync: add a rwlock() method to owned RwLock guards (#6418) 2024-03-25 00:37:05 +09:00
Ilson Balliego
3ce4720a45
sync: add is_closed, is_empty, and len to mpsc receivers (#6348)
Fixes: #4638
2024-03-24 14:46:02 +01:00
M.Amin Rayej
8342e4b524
util: assert compatibility between LengthDelimitedCodec options (#6414) 2024-03-24 01:12:24 +03:30
Motoyuki Kimura
4c453e9790
readme: add description about benchmarks (#6425) 2024-03-23 18:11:41 +03:30
M.Amin Rayej
1846483f19
sync: expose strong and weak counts of mpsc sender handles (#6405) 2024-03-22 23:25:33 +03:30
Christopher Acosta
baad270b98
sync: add Semaphore example for limiting the number of outgoing requests (#6419) 2024-03-22 21:33:28 +03:30
Motoyuki Kimura
f9d78fbe92
fs: add set_max_buf_size to tokio::fs::File (#6411) 2024-03-22 17:28:29 +03:30
M.Amin Rayej
bb25a06f34
chore: fix dead code warnings (#6423) 2024-03-22 13:44:18 +03:30
M.Amin Rayej
d51f16855b
runtime: panic if unhandled_panic is enabled when not supported (#6410) 2024-03-20 09:48:09 +01:00
M.Amin Rayej
5baa8d58ec
sync: remove stale comment (#6406) 2024-03-17 19:29:10 +03:30