selectreactor blocks callLater calls for extended periods on Posix.
|Reported by:||LawrenceK||Owned by:||LawrenceK|
The main loop for selectreactor, processes any delayed calls (callLater etc.) that are ready to go and then ends up in doSelect with a timeout based on the next delayed call to run. If you then queue another callLater with a short or 0 delay it then gets blocked until the select returns.
The examples I have is using coherence where the next delayedCall is to issue MSEARCH, in the mean time an attempt to issue a command to UPNP device using soap, i.e. http over tcp blocks waiting for the MSEARCH time to expire before it gets seen.
The windows select reactor does not show the symptom so hard as it limits the select timeout to 0.5 seconds.