mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 02:47:35 +00:00
![]() The FIXME at the bottom of Timer.nativeRun was on the money, and was the cause of some leaked timers. Solve the issue by passing the EventLoopImplementation to the JVM Timer object and retrieving it's thread_local timer list, and posting the events to the Impl rather than trying to invoke the receiver's timer event callback directly in the Timer thread. Because the implementation of ALooperEventLoopManager::did_post_event() reaches for EventLoop::current(), we also need to make sure that the timer thread acutally *has* an EventLoop, even if we don't expect to use it for anything. And we need to make sure to pump it to clear out any of the poke() invocations sending 4 bytes to the wake pipe for that thread. |
||
---|---|---|
.. | ||
src | ||
build.gradle.kts | ||
BuildLagomTools.sh | ||
proguard-rules.pro |