[platform] Implement delayed tasks in the default worker runner
This was unimplemented but is needed for Perfetto which posts delayed tasks on worker threads e.g. drain the trace buffer into a file every x seconds. This is implemented by adding a second queue which holds the delayed tasks in chronological order of 'next-to-execute'. We use an std::multimap for the queue so that we can easily get the next delayed task with begin(). The implementation will move delayed tasks into the main task queue when their deadline expires. Drive-by cleanup of the runner destructor which can just use = default. Bug: v8:8339 Change-Id: I3629c5d6e15ced2fc47eb1b7519a2dbbf8461fce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521114 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60320}
Showing
Please
register
or
sign in
to comment