2522 Commits

Author SHA1 Message Date
Jake Shadle
959c5c997f
net: add ready/try methods to NamedPipeClient (#3866) 2021-06-28 10:43:57 +02:00
sb64
845626410a
sync: implement From<T> for OnceCell<T> (#3877) 2021-06-22 15:11:01 +02:00
Carl Lerche
3207479fa7
Merge branch 'tokio-1.7.x' into merge-1.7.1 2021-06-18 16:37:21 -07:00
Carl Lerche
7601dc6d2a
rt: avoid early task shutdown (#3870)
Tokio 1.7.0 introduced a change intended to eagerly shutdown newly
spawned tasks if the runtime is in the process of shutting down.
However, it introduced a bug where already spawned tasks could be
shutdown too early, resulting in the potential introduction of deadlocks
if tasks acquired mutexes in drop handlers.

Fixes #3869
tokio-1.7.1
2021-06-18 16:32:53 -07:00
Alice Ryhl
d1aa2df80e
sync: add Receiver::borrow_and_update (#3813) 2021-06-16 18:42:05 +02:00
sb64
e979ad7f2d
time: allow users to specify Interval behavior when delayed (#3721) 2021-06-16 13:51:27 +02:00
sb64
5ad3dd3378
time: document auto-advancing behavior of runtime (#3763) 2021-06-16 13:51:12 +02:00
teor
60bd40d529
time: fix typo in Instant::saturating_duration_since docs (#3864) 2021-06-16 12:50:30 +02:00
brain0
4a93af4d25
io: add get_{ref,mut} methods to AsyncFdReadyGuard and AsyncFdReadyMutGuard. (#3807) 2021-06-16 12:45:05 +02:00
Alice Ryhl
34c6a26c01
chore: prepare Tokio v1.7.0 (#3863) tokio-1.7.0 2021-06-15 19:39:33 +02:00
John-John Tedro
97e7830364
net: provide NamedPipe{Client, Server} types and builders (#3760)
This builds on https://github.com/tokio-rs/mio/pull/1351 and introduces the
tokio::net::windows::named_pipe module which provides low level types for
building and communicating asynchronously over windows named pipes.

Named pipes require the `net` feature flag to be enabled on Windows.

Co-authored-by: Alice Ryhl <alice@ryhl.io>
2021-06-15 08:13:31 +02:00
Carl Lerche
606206ecad
Merge branch 'tokio-1.6.x' into merge-1.6.x 2021-06-14 17:51:30 -07:00
Carl Lerche
dfe4013ff2
chore: prepare Tokio 1.6.2 release (#3859) tokio-1.6.2 2021-06-14 17:50:34 -07:00
Carl Lerche
18779aa2e2
time: fix time::advance() with sub-ms durations (#3852)
Instead of using sleep in time::advance, this fixes the root of the issue. When futures passed
to `Runtime::block_on` are woken, it bypassed all the machinery around advancing time. By
intercepting wakes in the time driver, we know when the block_on task is woken and skip
advancing time in that case.

Fixes #3837
2021-06-14 16:36:04 -07:00
Alan Somers
2c24a028f6
chore: re-enable test_socket_pair on FreeBSD (#3844)
It was disabled due to an OS bug that has been fixed on all currently
supported releases of FreeBSD
2021-06-14 13:14:35 -07:00
Sean McArthur
f55b77aadd
tracing: emit waker op as str instead as Debug (#3853) 2021-06-14 10:37:24 -07:00
Yotam Ofek
21de476ae7
sync: export sync::notify::Notified future publicly (#3840) 2021-06-14 10:05:34 +02:00
Alice Ryhl
cb147a2b3f
sync: deprecate mpsc::RecvError (#3833) 2021-06-11 11:01:34 +02:00
Bart Pelle
f759240254
chore: update version in README.md (#3851) 2021-06-11 11:01:22 +02:00
AtulJatia
2e44cd29df
net: TcpSocket from std::net::TcpStream (#3838) 2021-06-11 10:58:58 +02:00
Oğuz Bilgener
2ab1fb00a9
sync: add examples to Semaphore (#3808) 2021-06-11 10:46:16 +02:00
Evan Mesterhazy
d16e50639a
doc: clarify EOF condition for AsyncReadExt::read_buf (#3850) 2021-06-09 15:00:32 +02:00
Sean McArthur
e7d74b3119
tracing: instrument task wakers (#3836)
## Motivation

In support of tokio-rs/console#37, we want to understand when a specific task's waker has been interacted with, such as when it is awoken, or if it's forgotten (not cloned), etc.

## Solution

When the tracing feature is enabled, a super trait of Future (InstrumentedFuture) is implemented for Instrumented<F> that allows grabbing the task's ID (well, its span ID), and stores that in the raw task trailer. The waker vtable then emits events and includes that ID.
2021-06-08 14:50:40 -07:00
Tony Han
d101feac50
runtime: fix typo in task state doc (#3835) 2021-06-04 22:31:04 +02:00
Taiki Endo
9d8b37d51a
macros: suppress clippy::default_numeric_fallback lint in generated code (#3831) 2021-06-02 18:16:23 +09:00
James Hallowell
d4c89758fc
sync: fix spelling mistake in mpsc::Sender docs (#3828) 2021-06-01 09:56:34 +02:00
Taiki Endo
932be12481
ci: ignore private crates in minimal-versions check (#3827) 2021-05-31 23:39:06 +09:00
Edward Shen
bdd6765016
doc: clarify limits on return values of AsyncWrite::poll_write (#3820) 2021-05-31 19:55:55 +09:00
Carl Lerche
8f6d8b25bf
chore: add FUNDING.yml (#3824)
Reference Tokio sponsorship
2021-05-28 13:55:16 -07:00
Carl Lerche
eb7aee980c
Merge branch 'tokio-1.6.x' into merge-1.6.1 2021-05-28 10:04:08 -07:00
Alice Ryhl
1baea398c4 chore: prepare Tokio v1.6.1 tokio-1.6.1 2021-05-28 09:59:28 -07:00
Alice Ryhl
3fbcf1ba50 Revert "fs: try doing a non-blocking read before punting to the threadpool (#3518)"
This reverts commit 39706b198c6cacfb23544bad8b7c144471ee4efa.
2021-05-28 09:59:28 -07:00
j-vanderstoep
21264f1d33
tcp: assign an unused port (#3817) 2021-05-28 09:03:27 +02:00
Rafael Bachmann
81ee3d202a
doc: fix minor doc typo (stray backtick) (#3814) 2021-05-26 14:23:39 +02:00
Alice Ryhl
a39e6c2439
runtime: immediately drop new task when runtime is shut down (#3752) 2021-05-26 10:24:56 +02:00
Petros Angelatos
4abeca7bc5
io: impl AsyncSeek for BufStream (#3810)
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2021-05-26 07:11:47 +09:00
GITSRC
5ed84e1cd8
doc: update README.md (#3806) 2021-05-21 09:55:53 +02:00
Lucio Franco
44a070d1b4
doc: add missing backtick (#3799) 2021-05-19 10:14:08 +02:00
Aaron Taner
ce9ca45c92
doc: fix invalid #[doc(inline)] warnings on latest nightly. (#3788)
This commit fixed issue #3787 by removing [doc(inline)] from
macro `cfg_macros` and added proper #[doc(inline)] attributes
to `pub use` items inside `cfg_macros` calls.

It's probably not `cfg_macros`s responsibility to inlining public
macros, though it's conveninent to do so. Notice that in lib.rs:

cfg_macros! {
    /// Implementation detail of the `select!` macro. This macro is **not**
    /// intended to be used as part of the public API and is permitted to
    /// change.
    #[doc(hidden)]
    pub use tokio_macros::select_priv_declare_output_enum;

    ...
}

`#[doc(hidden)]` and `#[doc(inline)]` are conflict with each other
in the sense of correctness.

Fixes: #3787
2021-05-18 01:28:17 +09:00
Folyd
f3ed064a26
chore: update *::{max, min}_value() to const *::MAX and *::MIN respectively (#3794) 2021-05-17 12:31:58 +02:00
Sören Meier
652f0ae728
sync: add receiver_count to watch::Sender (#3729) 2021-05-15 11:56:24 +02:00
Alice Ryhl
ff9b0ef7ca
chore: prepare tokio-test v0.4.2 (#3786) tokio-test-0.4.2 2021-05-14 18:24:13 +02:00
Alice Ryhl
aaa150d211
chore: prepare tokio-stream v0.1.6 (#3785) tokio-stream-0.1.6 2021-05-14 18:22:44 +02:00
Alice Ryhl
deb1f98125
chore: prepare tokio-util v0.6.7 (#3784) tokio-util-0.6.7 2021-05-14 18:22:08 +02:00
Alice Ryhl
3a659c47c3
chore: prepare tokio-mcaros v1.2.0 (#3783) tokio-macros-1.2.0 2021-05-14 18:20:17 +02:00
Alice Ryhl
580dc9594c
chore: prepare Tokio v1.6.0 (#3782) tokio-1.6.0 2021-05-14 18:19:10 +02:00
Taiki Endo
8c395dfe61
io: impl AsyncSeek for BufReader/BufWriter/BufStream (#3491) 2021-05-14 19:32:00 +09:00
Ivan Petkov
e188e99ca3
process: avoid redundant effort to reap orphan processes (#3743) 2021-05-14 10:21:21 +02:00
Kestrer
0b93bd511d
net: support non-blocking vectored I/O (#3761) 2021-05-14 09:38:01 +02:00
Alice Ryhl
d846bf24b1
sync: Barrier doc should use task, not thread (#3780) 2021-05-13 10:14:10 +02:00