Florian Fischer
authored
The FiberHint is needed to decide in the runtime which worker to wake up. * Hint(Worker, FiberSource::inbox) -> try to notify the specific worker * Hint(FiberSource::{local,anywhereQueue}) -> notify anyone The first case is needed because due to the new worker local inbox queues we must notify the worker of the queue to prevent sleep locks. The SemaphoreSleepStrategy already has a notifySpecific implementation but it is very naive badly and we should implement new ones. The second case is the what the runtime has done before. Its WakeupStrategy decides how many workers the SleepStrategy should wake up. Also remove default CallerEnvironment template parameters to prevent errors where the CallerEnvironment was forgotten and not passed on a call side.