Skip to content

rt: clarify the documentation of Runtime::spawn#7803

Merged
Darksonn merged 25 commits intotokio-rs:masterfrom
Its-Just-Nans:change-doc-sentence
Feb 4, 2026
Merged

rt: clarify the documentation of Runtime::spawn#7803
Darksonn merged 25 commits intotokio-rs:masterfrom
Its-Just-Nans:change-doc-sentence

Conversation

@Its-Just-Nans
Copy link
Copy Markdown
Contributor

@Its-Just-Nans Its-Just-Nans commented Dec 29, 2025

Motivation

Following #7802 (review)

I think clarifiying the doc of spawn() is better

Rendered

@Its-Just-Nans Its-Just-Nans changed the title feat: clarify spawn call rt: clarify the documentation of Runtime::spawn Dec 29, 2025
Comment thread tokio/src/runtime/runtime.rs Outdated
Comment thread tokio/src/runtime/runtime.rs Outdated
@ADD-SP ADD-SP added T-docs Topic: documentation A-tokio Area: The main tokio crate M-runtime Module: tokio/runtime labels Dec 29, 2025
Co-authored-by: Qi <add_sp@outlook.com>
Copy link
Copy Markdown
Member

@ADD-SP ADD-SP left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By the way, there are Handle::spawn and tokio::spawn, could you also update their docs?

@ADD-SP ADD-SP added the S-waiting-on-author Status: awaiting some action (such as code changes) from the PR or issue author. label Dec 29, 2025
@Its-Just-Nans
Copy link
Copy Markdown
Contributor Author

By the way, there are Handle::spawn and tokio::spawn, could you also update their docs?

I've updated, tell me what I need to change

@Its-Just-Nans Its-Just-Nans requested a review from ADD-SP December 29, 2025 04:08
Copy link
Copy Markdown
Member

@ADD-SP ADD-SP left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need fully qualified syntax in the docs.

Comment thread tokio/src/runtime/handle.rs Outdated
Comment thread tokio/src/runtime/runtime.rs Outdated
@Its-Just-Nans Its-Just-Nans requested a review from ADD-SP December 29, 2025 04:21
@ADD-SP ADD-SP removed the S-waiting-on-author Status: awaiting some action (such as code changes) from the PR or issue author. label Dec 29, 2025
Copy link
Copy Markdown
Member

@martin-g martin-g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've updated the infra-doc links according to https://doc.rust-lang.org/rustdoc/write-documentation/linking-to-items-by-name.html

Backticks around the link will be stripped, so [Option] will correctly link to Option.

Comment thread tokio/src/task/spawn.rs Outdated
Comment thread tokio/src/task/spawn.rs Outdated
Comment thread tokio/src/task/spawn.rs Outdated
Comment thread tokio/src/runtime/runtime.rs Outdated
Comment thread tokio/src/runtime/runtime.rs Outdated
Comment thread tokio/src/runtime/handle.rs Outdated
Comment thread tokio/src/runtime/handle.rs Outdated
Comment thread tokio/src/runtime/handle.rs Outdated
Its-Just-Nans and others added 6 commits December 30, 2025 03:38
Co-authored-by: Martin Grigorov <martin-g@users.noreply.github.com>
Co-authored-by: Martin Grigorov <martin-g@users.noreply.github.com>
Co-authored-by: Martin Grigorov <martin-g@users.noreply.github.com>
Co-authored-by: Martin Grigorov <martin-g@users.noreply.github.com>
Co-authored-by: Martin Grigorov <martin-g@users.noreply.github.com>
Co-authored-by: Martin Grigorov <martin-g@users.noreply.github.com>
@ADD-SP ADD-SP added the S-waiting-on-author Status: awaiting some action (such as code changes) from the PR or issue author. label Dec 31, 2025
Comment thread tokio/src/runtime/runtime.rs Outdated
@Darksonn
Copy link
Copy Markdown
Member

Darksonn commented Jan 1, 2026

I think it may be less confusing to introduce a concept along of whether or not the runtime is running.

The provided future will start running in the background immediately when spawn is called, even if you don't await the returned JoinHandle. (As long as the runtime is running.)

And then the word "running" can be a link to a new section in the docs for tokio::runtime, which clarifies that the multi-threaded runtime is always running, that the current-thread runtime is only running when there is at least on call to Runtime::block_on(), and that a LocalSet is running when it's being driven by one of more mechanisms.

@Its-Just-Nans
Copy link
Copy Markdown
Contributor Author

Its-Just-Nans commented Jan 2, 2026

And then the word "running" can be a link to a new section in the docs for tokio::runtime, which clarifies that the multi-threaded runtime is always running, that the current-thread runtime is only running when there is at least on call to Runtime::block_on(), and that a LocalSet is running when it's being driven by one of more mechanisms.

I think that's a nice idea! I've updated my branch with this change(s)

ping @ADD-SP - i've updated the docs

@Its-Just-Nans Its-Just-Nans requested a review from Darksonn January 2, 2026 00:10
Comment thread tokio/src/runtime/handle.rs Outdated
Comment thread tokio/src/runtime/mod.rs Outdated
Comment thread tokio/src/runtime/mod.rs Outdated
@ADD-SP ADD-SP removed the S-waiting-on-author Status: awaiting some action (such as code changes) from the PR or issue author. label Jan 8, 2026
@Its-Just-Nans
Copy link
Copy Markdown
Contributor Author

Hi

Should I change something ?

Comment thread tokio/src/runtime/handle.rs Outdated
Comment thread tokio/src/task/spawn.rs Outdated
Its-Just-Nans and others added 2 commits January 24, 2026 22:24
Co-authored-by: Alice Ryhl <aliceryhl@google.com>
Copy link
Copy Markdown
Member

@Darksonn Darksonn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

Comment thread tokio/src/runtime/runtime.rs Outdated
Comment thread tokio/src/task/spawn.rs Outdated
Copy link
Copy Markdown
Member

@Darksonn Darksonn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.

@Darksonn Darksonn merged commit c0943f9 into tokio-rs:master Feb 4, 2026
88 checks passed
jimsynz pushed a commit to jimsynz/neonfs that referenced this pull request Mar 6, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | dependencies | minor | `1.49.0` → `1.50.0` |

---

### Release Notes

<details>
<summary>tokio-rs/tokio (tokio)</summary>

### [`v1.50.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.50.0): Tokio v1.50.0

[Compare Source](tokio-rs/tokio@tokio-1.49.0...tokio-1.50.0)

### 1.50.0 (Mar 3rd, 2026)

##### Added

- net: add `TcpStream::set_zero_linger` ([#&#8203;7837])
- rt: add `is_rt_shutdown_err` ([#&#8203;7771])

##### Changed

- io: add optimizer hint that `memchr` returns in-bounds pointer ([#&#8203;7792])
- io: implement vectored writes for `write_buf` ([#&#8203;7871])
- runtime: panic when `event_interval` is set to 0 ([#&#8203;7838])
- runtime: shorten default thread name to fit in Linux limit ([#&#8203;7880])
- signal: remember the result of `SetConsoleCtrlHandler` ([#&#8203;7833])
- signal: specialize windows `Registry` ([#&#8203;7885])

##### Fixed

- io: always cleanup `AsyncFd` registration list on deregister ([#&#8203;7773])
- macros: remove (most) local `use` declarations in `tokio::select!` ([#&#8203;7929])
- net: fix `GET_BUF_SIZE` constant for `target_os = "android"` ([#&#8203;7889])
- runtime: avoid redundant unpark in current\_thread scheduler ([#&#8203;7834])
- runtime: don't park in `current_thread` if `before_park` defers waker ([#&#8203;7835])
- io: fix write readiness on ESP32 on short writes ([#&#8203;7872])
- runtime: wake deferred tasks before entering `block_in_place` ([#&#8203;7879])
- sync: drop rx waker when oneshot receiver is dropped ([#&#8203;7886])
- runtime: fix double increment of `num_idle_threads` on shutdown ([#&#8203;7910], [#&#8203;7918], [#&#8203;7922])

##### Unstable

- fs: check for io-uring opcode support ([#&#8203;7815])
- runtime: avoid lock acquisition after uring init ([#&#8203;7850])

##### Documented

- docs: update outdated unstable features section ([#&#8203;7839])
- io: clarify the behavior of `AsyncWriteExt::shutdown()` ([#&#8203;7908])
- io: explain how to flush stdout/stderr ([#&#8203;7904])
- io: fix incorrect and confusing `AsyncWrite` documentation ([#&#8203;7875])
- rt: clarify the documentation of `Runtime::spawn` ([#&#8203;7803])
- rt: fix missing quotation in docs ([#&#8203;7925])
- runtime: correct the default thread name in docs ([#&#8203;7896])
- runtime: fix `event_interval` doc ([#&#8203;7932])
- sync: clarify RwLock fairness documentation ([#&#8203;7919])
- sync: clarify that `recv` returns `None` once closed and no more messages ([#&#8203;7920])
- task: clarify when to use `spawn_blocking` vs dedicated threads ([#&#8203;7923])
- task: doc that task drops before `JoinHandle` completion ([#&#8203;7825])
- signal: guarantee that listeners never return `None` ([#&#8203;7869])
- task: fix task module feature flags in docs ([#&#8203;7891])
- task: fix two typos ([#&#8203;7913])
- task: improve the docs of `Builder::spawn_local` ([#&#8203;7828])
- time: add docs about auto-advance and when to use sleep ([#&#8203;7858])
- util: fix typo in docs ([#&#8203;7926])

[#&#8203;7771]: tokio-rs/tokio#7771

[#&#8203;7773]: tokio-rs/tokio#7773

[#&#8203;7792]: tokio-rs/tokio#7792

[#&#8203;7803]: tokio-rs/tokio#7803

[#&#8203;7815]: tokio-rs/tokio#7815

[#&#8203;7825]: tokio-rs/tokio#7825

[#&#8203;7828]: tokio-rs/tokio#7828

[#&#8203;7833]: tokio-rs/tokio#7833

[#&#8203;7834]: tokio-rs/tokio#7834

[#&#8203;7835]: tokio-rs/tokio#7835

[#&#8203;7837]: tokio-rs/tokio#7837

[#&#8203;7838]: tokio-rs/tokio#7838

[#&#8203;7839]: tokio-rs/tokio#7839

[#&#8203;7850]: tokio-rs/tokio#7850

[#&#8203;7858]: tokio-rs/tokio#7858

[#&#8203;7869]: tokio-rs/tokio#7869

[#&#8203;7871]: tokio-rs/tokio#7871

[#&#8203;7872]: tokio-rs/tokio#7872

[#&#8203;7875]: tokio-rs/tokio#7875

[#&#8203;7879]: tokio-rs/tokio#7879

[#&#8203;7880]: tokio-rs/tokio#7880

[#&#8203;7885]: tokio-rs/tokio#7885

[#&#8203;7886]: tokio-rs/tokio#7886

[#&#8203;7889]: tokio-rs/tokio#7889

[#&#8203;7891]: tokio-rs/tokio#7891

[#&#8203;7896]: tokio-rs/tokio#7896

[#&#8203;7904]: tokio-rs/tokio#7904

[#&#8203;7908]: tokio-rs/tokio#7908

[#&#8203;7910]: tokio-rs/tokio#7910

[#&#8203;7913]: tokio-rs/tokio#7913

[#&#8203;7918]: tokio-rs/tokio#7918

[#&#8203;7919]: tokio-rs/tokio#7919

[#&#8203;7920]: tokio-rs/tokio#7920

[#&#8203;7922]: tokio-rs/tokio#7922

[#&#8203;7923]: tokio-rs/tokio#7923

[#&#8203;7925]: tokio-rs/tokio#7925

[#&#8203;7926]: tokio-rs/tokio#7926

[#&#8203;7929]: tokio-rs/tokio#7929

[#&#8203;7932]: tokio-rs/tokio#7932

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) in timezone Pacific/Auckland, Automerge - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) in timezone Pacific/Auckland.

🚦 **Automerge**: Disabled because a matching PR was automerged previously.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41Mi4xIiwidXBkYXRlZEluVmVyIjoiNDMuNTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->

Reviewed-on: https://harton.dev/project-neon/neonfs/pulls/53
Co-authored-by: Renovate Bot <bot@harton.nz>
Co-committed-by: Renovate Bot <bot@harton.nz>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-tokio Area: The main tokio crate M-runtime Module: tokio/runtime T-docs Topic: documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants