You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Process: handle a possible case of a nil runloop source
If the process terminates before the runloop source being woken up, we
could end up with the callout from CoreFoundation where the
`process.runLoopSource` returns a `nil`, breaking an invariant for the
`CFRunLoopSourceInvalidate`. This would then cascade into a null
pointer dereference when trying to invalidate a non-existent runloop
source. Guard against such a case by ensuring that we have a source
before invalidation.
We additionally assert that if we do not have a runloop source, the
process has finished execution as we always expect to have a runloop
source while the process is running. The runloop source is created
when the process is launched, so it is not possible for the process to
not have started before the runloop is awoken.
0 commit comments