Skip to content

Implement the task tree and task killing using messages #1189

Closed
@brson

Description

@brson

Right now killing a task means setting a flag on it in the runtime and checking that flag before and after yielding. There is at least one race condition that could result in the task not being killed and never waking up.

Seems like we should be able to maintain the relationships between tasks just using Rust messages. This is desirable because every bit of synchronization we eliminate from the runtime makes it easier to understand. There are some obstacles to being able to implement this though, primarily that we need to be able to select on multiple ports. Additionally, I don't really envision how reparenting would work.

Metadata

Metadata

Assignees

Labels

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

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions