Skip to content

send_deferred is incorrect for SingleThreaded tasks #10345

Closed
@brson

Description

@brson

When send_deferred sees a task to wake up it calls enqueue_blocked_task to reschedule the work, but enqueue_blocked_task assumes that some other scheduler will come along to steal the work. For tasks spawned with SingleThreaded scheduling though, the scheduler doesn't participate in work stealing, so if the task then goes on to block, the other task will never wake up.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-runtimeArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflows

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions