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

constellation: Simplify the scheduler so it doesn't create a thread for each event #11279

Closed
wants to merge 5 commits into from

Commits on May 19, 2016

  1. constellation: Simplify the scheduler so it doesn't create a thread f…

    …or each event
    
    This can't land as-is, just wanted to make sure this idea is fine, and do a try
    run because I need to leave now.
    emilio committed May 19, 2016
  2. constellation: Make the scheduler not spin while waiting

    This approach uses a secondary thread to manage the timeout + select.
    
    This is not ideal, but it can be vastly improved if something is done about
    rust-lang/rfcs#962.
    
    The other apparently cleaner option, having the returned value not being an
    ipc-sender, but a struct containing the sender and the Thread handle (which
    would allow unparking), wouldn't work across IPC.
    emilio committed May 19, 2016
  3. constellation: scheduler: Don't call precise_time_ns() if there are n…

    …o tasks
    emilio committed May 19, 2016

Commits on May 20, 2016

  1. constellation: scheduler: Make the second thread unnecessary relying …

    …on the
    
    implementation of std::sync::mpsc::Sender.
    
    Optimal, but not ideal. I have a PR in progress to implement recv_timeout()
    emilio committed May 20, 2016
You can’t perform that action at this time.