ADD-SP
d18e5dfbb0
io: fix race in Mock::poll_write ( #7882 )
2026-02-23 20:49:37 -08:00
ADD-SP
f21f2693f0
runtime: fix race condition during the blocking pool shutdown ( #7922 )
2026-02-23 22:50:27 +01:00
Andrew Lin
d81e8f0acb
macros: remove (most) local use declarations in tokio::select! ( #7929 )
2026-02-23 10:46:18 +01:00
Phong Chuong
25e7f2641e
rt: fix missing quotation in docs ( #7925 )
2026-02-20 23:41:12 +02:00
Phong Chuong
e1a91ef114
util: fix typo in docs ( #7926 )
2026-02-20 23:36:27 +02:00
0rlych1kk4
1b11840f53
task: clarify when to use spawn_blocking vs dedicated threads ( #7923 )
2026-02-20 14:19:27 +00:00
Maxime Grenu
09f92b5aed
sync: clarify that recv returns None once closed and no more messages ( #7920 )
...
The previous documentation stated:
'As such, Receiver::poll returns Ok(Ready(None))'
This was misleading: when all Sender handles are dropped, recv does NOT
immediately return None. Buffered messages already in the channel can
still be received. Only after all senders are dropped AND the channel
has been fully drained does recv return None.
Also update the method reference from the internal Receiver::poll to the
public API: Receiver::recv and Receiver::poll_recv.
Closes #6053
2026-02-20 08:34:11 +00:00
Maxime Grenu
e65040f061
sync: clarify RwLock fairness documentation ( #7919 )
...
The previous wording 'if a task that wishes to acquire the write lock is
at the head of the queue, read locks will not be given out' was
misleading: it implied that readers are only blocked when the writer is
first in the queue. In reality, due to the FIFO ordering, any write
request queued *before* a read request will block that reader.
Replace with a more accurate description: 'a read lock will not be given
out until all write lock requests that were queued before it have been
acquired and released.'
Closes #6901
2026-02-19 15:57:42 +01:00
ADD-SP
c23735d43b
runtime: fix TOCTOU issue when decreasing num_idle_threads ( #7918 )
2026-02-17 21:50:26 -08:00
Varun Chawla
d83921bc51
runtime: fix double increment of num_idle_threads on shutdown ( #7910 )
2026-02-16 23:19:50 -08:00
cui
96f64f4ee2
codec: fix is_readable should be buffer empty or not ( #7912 )
2026-02-16 17:33:35 +01:00
Zen
00d10c22f8
task: fix two typos ( #7913 )
2026-02-16 10:51:10 +00:00
Zen
a25d95a8c4
io: clarify the behavior of AsyncWriteExt::shutdown() ( #7908 )
2026-02-14 11:42:24 -08:00
Stepan Koltsov
9e7e1ef7ad
io: Explain how to flush stdout/stderr ( #7904 )
2026-02-12 14:06:48 +00:00
Mattia Pitossi
5bcd7c1d09
task: fix task module feature flags in docs ( #7891 )
2026-02-12 12:27:25 +01:00
winlogon
2486d49778
tests: skip issue_7144 if strace is missing ( #7903 )
2026-02-12 12:26:20 +01:00
Tim Vilgot Mikael Fredenberg
9dacb1c53e
tokio: replace some futures with poll_fn ( #7895 )
2026-02-09 13:30:31 +01:00
Alex H
8167f87137
task: add AbortOnDrop ( #7855 )
2026-02-09 13:23:46 +01:00
Mattia Pitossi
159f70bc55
ci: fix ambiguity issue during tokio releases ( #7848 )
2026-02-09 11:04:59 +01:00
Jack Kleeman
d1e4db1018
sync: drop rx waker when oneshot receiver is dropped ( #7886 )
2026-02-09 10:17:45 +01:00
DaniPopes
530af3f331
runtime: correct the default thread name in docs ( #7896 )
2026-02-08 03:34:44 -08:00
George Burgess IV
d89e998922
net: fix GET_BUF_SIZE constant for target_os = "android" ( #7889 )
...
We recently tried to upgrade Android to the newest tokio, but tests that
use these constants fail, since Android is provided the non-Linux
constants.
2026-02-06 15:08:04 +01:00
tsyrulb
306ed1c30b
stream: bump minimum tokio version to 1.38 ( #7887 )
...
tokio-stream 0.1.18 added `Stream::size_hint` for
`ReceiverStream` and `UnboundedReceiverStream` (PR #7492 ),
which calls `Receiver::is_closed()` and `Receiver::len()`
(added in tokio 1.37.0) and `Receiver::capacity()` and
`Receiver::max_capacity()` (added in tokio 1.38.0).
The declared minimum of tokio 1.15.0 is no longer sufficient,
causing compilation failures when resolved via
`-Z direct-minimal-versions`.
Refs: #7492
2026-02-06 11:45:30 +01:00
Tim Vilgot Mikael Fredenberg
7e952697e8
signal: specialize windows Registry ( #7885 )
2026-02-06 11:29:34 +01:00
n4n5
c0943f99f0
rt: clarify the documentation of Runtime::spawn ( #7803 )
2026-02-04 11:27:46 +01:00
DaniPopes
187a2146a7
runtime: shorten default thread name to fit in Linux limit ( #7880 )
...
Linux thread names are truncated at 15 characters.
Currently, Tokio threads show up as "tokio-runtime-w", whereas
shortening "runtime" to "rt" would make the thread name perfectly fit
in the 15 character limit.
2026-02-03 16:23:30 +01:00
Muzzaiyyan Hussain
f61374f931
io: fix incorrect and confusing AsyncWrite documentation ( #7875 )
2026-02-03 16:22:34 +01:00
ADD-SP
0d6c7af3e4
runtime: wake deferred tasks before entering block_in_place ( #7879 )
2026-02-03 14:07:09 +01:00
Alice Ryhl
9dc9b53ae1
io: implement vectored writes for write_buf ( #7871 )
2026-01-30 19:52:57 +01:00
Tim Vilgot Mikael Fredenberg
c3b31ba2ab
signal: guarantee that listeners never return None ( #7869 )
2026-01-29 19:24:47 -08:00
Alice Ryhl
b68ea4156a
io: hardcode platform list for poll_write ( #7872 )
2026-01-29 15:12:10 +01:00
Chinmoy Das
8f6d0864c3
macros: improve error message for return type mismatch in #[tokio::main] ( #7856 )
2026-01-25 01:09:05 +09:00
mu001999
63abec0525
macros: use call_site hygiene to avoid unused qualification ( #7866 )
2026-01-22 14:54:43 +01:00
Mattia Pitossi
8fd44d9bdc
docs: fix link to tokio::select! ( #7867 )
2026-01-20 23:05:01 +02:00
Shawn
450fa2d09d
fs: add tests for when fs::hard_link fails ( #7863 )
2026-01-19 12:51:47 +00:00
Andrea Bozzo
8cfa309126
time: add docs about auto-advance and when to use sleep ( #7858 )
2026-01-19 09:12:37 +01:00
Mattia Pitossi and Martin Grigorov
bf185b61ff
docs: fix broken links of select! ( #7860 )
...
Co-authored-by: Martin Grigorov <[email protected] >
2026-01-17 10:10:59 -08:00
Mattia Pitossi
27d1383581
deps: bump tokio to 1.47.0 ( #7862 )
2026-01-17 10:06:00 -08:00
Alice Ryhl
11f9d4db73
macros: add test for special return types ( #7857 )
2026-01-15 10:25:45 +01:00
F4RAN
1280cf81de
io: always cleanup AsyncFd registration list on deregister ( #7773 )
2026-01-14 15:02:59 +01:00
vrtgs
67682ac2e8
io: add optimizer hint that memchr returns in-bounds pointer ( #7792 )
2026-01-14 14:58:33 +01:00
Finn Sheng
b88c02c55e
time: implement FusedStream for IntervalStream ( #7854 )
2026-01-14 14:49:03 +01:00
Tim Vilgot Mikael Fredenberg
240cc44da8
signal: remember the result of SetConsoleCtrlHandler ( #7833 )
...
The unix implementation remembers whether it failed or not, so the
windows implementation should do so as well. This PR also replaces the
`(Once, AtomicState)` pair with `OnceLock` and tries to remember the
original errno value.
2026-01-14 13:20:41 +01:00
IgorErin
7ed6da6733
runtime: add comments to schedule_option_task_without_yield ( #7851 )
2026-01-13 10:56:50 -08:00
Tahmid
7a2135f426
runtime: avoid lock acquisition after uring init ( #7850 )
2026-01-09 17:06:14 -08:00
Alice Ryhl
0913cad381
runtime: revert "avoid lock acquisition after uring init" ( #7849 )
...
This reverts commit ff9681b3c6 .
2026-01-09 10:15:06 +01:00
Tahmid
ff9681b3c6
runtime: avoid lock acquisition after uring init ( #7843 )
2026-01-08 19:24:29 -08:00
Alice Ryhl
f1cb007a28
net: add TcpStream::set_zero_linger ( #7837 )
2026-01-08 08:18:04 +00:00
Zachary Becker
2d4853ea16
examples: use select! instead of join! in connect_(tcp|udp) examples ( #7842 )
2026-01-07 22:52:10 -08:00
Marc-Antoine Perennou
d65165f7b5
rt: make is_rt_shutdown_err method public ( #7771 )
2026-01-07 08:26:01 +00:00