mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-12-22 20:47:57 +01:00
b510d373b5
If we do not peek at the scheduled actions in the reactors synchronized block, then there is a kind of lost-update problem. While Ractor.schedule() will call wakeup() on the selector, a thread could have already determined the value of selectWait, while being blocked at the start of the synchronized reactor section. Once it is able to enter the section, it will use an outdated selectWait value. This leads to scheduled actions not being executed on time. Thanks to Eng ChongMeng for reporting this and suggesting the fix. |
||
---|---|---|
.. | ||
src | ||
.gitignore | ||
build.gradle |