Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Thread#join when scheduler is used (2nd attempt). #4689

Merged
merged 1 commit into from
Aug 3, 2021

Commits on Aug 3, 2021

  1. Fix potential hang when joining threads.

    If the thread termination invokes user code after `th->status` becomes
    `THREAD_KILLED`, and the user unblock function causes that `th->status` to
    become something else (e.g. `THREAD_RUNNING`), threads waiting in
    `thread_join_sleep` will hang forever. We move the unblock function call
    to before the thread status is updated, and allow threads to join as soon
    as `th->value` becomes defined.
    
    This reverts commit 6505c77.
    ioquatix committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    c3701f5 View commit details
    Browse the repository at this point in the history