launch_daemon: Trigger sticky-already-triggered external events immediately.
If the external event is sticky and already triggered, then we want
to trigger any newly-added events immediately. This fixes "boot hangs
on rocket" regressions following 4f126f690c,
which seems to have exacerbated this already-existing race condition.
Fixes #17289.
Change-Id: Ie405826cc50255895c8831c34b8bdf902e584eb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4510
Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
b19b3d9b39
commit
ce308ddc6b
@@ -317,6 +317,9 @@ ExternalEventSource::ResetSticky()
|
|||||||
status_t
|
status_t
|
||||||
ExternalEventSource::AddDestination(Event* event)
|
ExternalEventSource::AddDestination(Event* event)
|
||||||
{
|
{
|
||||||
|
if (fStickyTriggered)
|
||||||
|
Events::TriggerExternalEvent(event);
|
||||||
|
|
||||||
if (fDestinations.AddItem(event))
|
if (fDestinations.AddItem(event))
|
||||||
return B_OK;
|
return B_OK;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user