Skip to content

Soundness error in queues #35

@senyosimpson

Description

@senyosimpson

The task and timer queues are implemented as intrusive linked lists. In this setup, each element holds pointers to the next and previous task in the queue. If an element is moved (say by a std::mem::swap), this will invalidate an element that has pointers pointing to it. We can solve this through using Pin which guarantees we cannot move elements in memory.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions