From fd8938c6346010979992986b2a1b512449e5c866 Mon Sep 17 00:00:00 2001 From: Kenneth Bell Date: Sun, 16 May 2021 11:05:23 -0700 Subject: [PATCH] scheduler: task.Data made 64bit to avoid overflow --- src/internal/task/task.go | 2 +- src/runtime/scheduler.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/internal/task/task.go b/src/internal/task/task.go index 489400df..bad501b6 100644 --- a/src/internal/task/task.go +++ b/src/internal/task/task.go @@ -13,7 +13,7 @@ type Task struct { Ptr unsafe.Pointer // Data is a field which can be used for storing state information. - Data uint + Data uint64 // state is the underlying running state of the task. state state diff --git a/src/runtime/scheduler.go b/src/runtime/scheduler.go index c5286d33..44b07f75 100644 --- a/src/runtime/scheduler.go +++ b/src/runtime/scheduler.go @@ -88,7 +88,7 @@ func addSleepTask(t *task.Task, duration timeUnit) { panic("runtime: addSleepTask: expected next task to be nil") } } - t.Data = uint(duration) // TODO: longer durations + t.Data = uint64(duration) now := ticks() if sleepQueue == nil { scheduleLog(" -> sleep new queue")