rt: worker_threads must be non-zero (#2947)

Co-authored-by: Alice Ryhl <alice@ryhl.io>
This commit is contained in:
Lucio Franco 2020-10-12 15:15:40 -04:00 committed by GitHub
parent 891de3271d
commit 07802b2c84
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 5 deletions

View File

@ -45,9 +45,8 @@ fn many_signals(bench: &mut Bencher) {
let num_signals = 10;
let (tx, mut rx) = mpsc::channel(num_signals);
let rt = runtime::Builder::new_multi_thread()
// Intentionally single threaded to measure delays in propagating wakes
.worker_threads(0)
// Intentionally single threaded to measure delays in propagating wakes
let rt = runtime::Builder::new_current_thread()
.enable_all()
.build()
.unwrap();

View File

@ -49,8 +49,7 @@ fn uncontended_concurrent_multi(b: &mut Bencher) {
}
fn uncontended_concurrent_single(b: &mut Bencher) {
let rt = tokio::runtime::Builder::new_multi_thread()
.worker_threads(0)
let rt = tokio::runtime::Builder::new_current_thread()
.build()
.unwrap();

View File

@ -192,7 +192,12 @@ impl Builder {
/// // This will run the runtime and future on the current thread
/// rt.block_on(async move {});
/// ```
///
/// # Panic
///
/// This will panic if `val` is not larger than `0`.
pub fn worker_threads(&mut self, val: usize) -> &mut Self {
assert!(val > 0, "Worker threads cannot be set to 0");
self.worker_threads = Some(val);
self
}