Skip to content

Commit 666a771

Browse files
committed
fix: make sure wall clock duration is in valid range
1 parent aeb66bc commit 666a771

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

crates/base/src/rt_worker/supervisor/strategy_per_request.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ pub async fn supervise(args: Arguments, oneshot: bool) -> (ShutdownReason, i64)
5353

5454
// reduce 100ms from wall clock duration, so the interrupt can be handled before
5555
// isolate is dropped
56-
let wall_clock_duration =
57-
Duration::from_millis(runtime_opts.worker_timeout_ms) - Duration::from_millis(100);
56+
let wall_clock_duration = Duration::from_millis(runtime_opts.worker_timeout_ms)
57+
.saturating_sub(Duration::from_millis(100));
5858

5959
let wall_clock_duration_alert = tokio::time::sleep(wall_clock_duration);
6060

crates/base/src/rt_worker/supervisor/strategy_per_worker.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ pub async fn supervise(args: Arguments) -> (ShutdownReason, i64) {
4848

4949
// reduce 100ms from wall clock duration, so the interrupt can be handled before
5050
// isolate is dropped
51-
let wall_clock_duration =
52-
Duration::from_millis(runtime_opts.worker_timeout_ms) - Duration::from_millis(100);
51+
let wall_clock_duration = Duration::from_millis(runtime_opts.worker_timeout_ms)
52+
.saturating_sub(Duration::from_millis(100));
5353

5454
// Split wall clock duration into 2 intervals.
5555
// At the first interval, we will send a msg to retire the worker.

0 commit comments

Comments
 (0)