ADD-SP and GitHub
f21f2693f0
runtime: fix race condition during the blocking pool shutdown ( #7922 )
2026-02-23 22:50:27 +01:00
Andrew Lin and GitHub
d81e8f0acb
macros: remove (most) local use declarations in tokio::select! ( #7929 )
2026-02-23 10:46:18 +01:00
Phong Chuong and GitHub
25e7f2641e
rt: fix missing quotation in docs ( #7925 )
2026-02-20 23:41:12 +02:00
Phong Chuong and GitHub
e1a91ef114
util: fix typo in docs ( #7926 )
2026-02-20 23:36:27 +02:00
0rlych1kk4 and GitHub
1b11840f53
task: clarify when to use spawn_blocking vs dedicated threads ( #7923 )
2026-02-20 14:19:27 +00:00
Maxime Grenu and GitHub
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 and GitHub
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 and GitHub
c23735d43b
runtime: fix TOCTOU issue when decreasing num_idle_threads ( #7918 )
2026-02-17 21:50:26 -08:00
Varun Chawla and GitHub
d83921bc51
runtime: fix double increment of num_idle_threads on shutdown ( #7910 )
2026-02-16 23:19:50 -08:00
cui and GitHub
96f64f4ee2
codec: fix is_readable should be buffer empty or not ( #7912 )
2026-02-16 17:33:35 +01:00
Zen and GitHub
00d10c22f8
task: fix two typos ( #7913 )
2026-02-16 10:51:10 +00:00
Zen and GitHub
a25d95a8c4
io: clarify the behavior of AsyncWriteExt::shutdown() ( #7908 )
2026-02-14 11:42:24 -08:00
Stepan Koltsov and GitHub
9e7e1ef7ad
io: Explain how to flush stdout/stderr ( #7904 )
2026-02-12 14:06:48 +00:00
Mattia Pitossi and GitHub
5bcd7c1d09
task: fix task module feature flags in docs ( #7891 )
2026-02-12 12:27:25 +01:00
winlogon and GitHub
2486d49778
tests: skip issue_7144 if strace is missing ( #7903 )
2026-02-12 12:26:20 +01:00
Tim Vilgot Mikael Fredenberg and GitHub
9dacb1c53e
tokio: replace some futures with poll_fn ( #7895 )
2026-02-09 13:30:31 +01:00
Alex H and GitHub
8167f87137
task: add AbortOnDrop ( #7855 )
2026-02-09 13:23:46 +01:00
Mattia Pitossi and GitHub
159f70bc55
ci: fix ambiguity issue during tokio releases ( #7848 )
2026-02-09 11:04:59 +01:00
Jack Kleeman and GitHub
d1e4db1018
sync: drop rx waker when oneshot receiver is dropped ( #7886 )
2026-02-09 10:17:45 +01:00
DaniPopes and GitHub
530af3f331
runtime: correct the default thread name in docs ( #7896 )
2026-02-08 03:34:44 -08:00
George Burgess IV and GitHub
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 and GitHub
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 and GitHub
7e952697e8
signal: specialize windows Registry ( #7885 )
2026-02-06 11:29:34 +01:00
n4n5 and GitHub
c0943f99f0
rt: clarify the documentation of Runtime::spawn ( #7803 )
2026-02-04 11:27:46 +01:00
DaniPopes and GitHub
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 and GitHub
f61374f931
io: fix incorrect and confusing AsyncWrite documentation ( #7875 )
2026-02-03 16:22:34 +01:00
ADD-SP and GitHub
0d6c7af3e4
runtime: wake deferred tasks before entering block_in_place ( #7879 )
2026-02-03 14:07:09 +01:00
Alice Ryhl and GitHub
9dc9b53ae1
io: implement vectored writes for write_buf ( #7871 )
2026-01-30 19:52:57 +01:00
Tim Vilgot Mikael Fredenberg and GitHub
c3b31ba2ab
signal: guarantee that listeners never return None ( #7869 )
2026-01-29 19:24:47 -08:00
Alice Ryhl and GitHub
b68ea4156a
io: hardcode platform list for poll_write ( #7872 )
2026-01-29 15:12:10 +01:00
Chinmoy Das and GitHub
8f6d0864c3
macros: improve error message for return type mismatch in #[tokio::main] ( #7856 )
2026-01-25 01:09:05 +09:00
mu001999 and GitHub
63abec0525
macros: use call_site hygiene to avoid unused qualification ( #7866 )
2026-01-22 14:54:43 +01:00
Mattia Pitossi and GitHub
8fd44d9bdc
docs: fix link to tokio::select! ( #7867 )
2026-01-20 23:05:01 +02:00
Shawn and GitHub
450fa2d09d
fs: add tests for when fs::hard_link fails ( #7863 )
2026-01-19 12:51:47 +00:00
Andrea Bozzo and GitHub
8cfa309126
time: add docs about auto-advance and when to use sleep ( #7858 )
2026-01-19 09:12:37 +01:00
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 and GitHub
27d1383581
deps: bump tokio to 1.47.0 ( #7862 )
2026-01-17 10:06:00 -08:00
Alice Ryhl and GitHub
11f9d4db73
macros: add test for special return types ( #7857 )
2026-01-15 10:25:45 +01:00
F4RAN and GitHub
1280cf81de
io: always cleanup AsyncFd registration list on deregister ( #7773 )
2026-01-14 15:02:59 +01:00
vrtgs and GitHub
67682ac2e8
io: add optimizer hint that memchr returns in-bounds pointer ( #7792 )
2026-01-14 14:58:33 +01:00
Finn Sheng and GitHub
b88c02c55e
time: implement FusedStream for IntervalStream ( #7854 )
2026-01-14 14:49:03 +01:00
Tim Vilgot Mikael Fredenberg and GitHub
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 and GitHub
7ed6da6733
runtime: add comments to schedule_option_task_without_yield ( #7851 )
2026-01-13 10:56:50 -08:00
Tahmid and GitHub
7a2135f426
runtime: avoid lock acquisition after uring init ( #7850 )
2026-01-09 17:06:14 -08:00
Alice Ryhl and GitHub
0913cad381
runtime: revert "avoid lock acquisition after uring init" ( #7849 )
...
This reverts commit ff9681b3c6 .
2026-01-09 10:15:06 +01:00
Tahmid and GitHub
ff9681b3c6
runtime: avoid lock acquisition after uring init ( #7843 )
2026-01-08 19:24:29 -08:00
Alice Ryhl and GitHub
f1cb007a28
net: add TcpStream::set_zero_linger ( #7837 )
2026-01-08 08:18:04 +00:00
Zachary Becker and GitHub
2d4853ea16
examples: use select! instead of join! in connect_(tcp|udp) examples ( #7842 )
2026-01-07 22:52:10 -08:00
Marc-Antoine Perennou and GitHub
d65165f7b5
rt: make is_rt_shutdown_err method public ( #7771 )
2026-01-07 08:26:01 +00:00
Mattia Pitossi and GitHub
71a1a3da7a
tokio: update outdated unstable features section ( #7839 )
2026-01-07 09:03:12 +01:00