fahrenheit
fahrenheit copied to clipboard
Make wakers capable of cross-thread wake-ups
Previously when a waker was moved to another thread then woken there (e.g. if a oneshot::channel has its tx side moved onto a separate event loop and the rx side is polled on a fahrenheit loop) it would just create a new event loop on that thread and queue the wakeup there. Now the wakers keep a handle back to the specific event loop they're associated with and send the wakeup notification there.
This is most definitely not the most efficient way to implement this, but it's worked on the small amount of testing I've done.