We are using a threaded root application, in which the main thread starts a communication and an analysis thread and then calls gApplication->Run() to handle events. After upgrading to v5-16-00 we experienced the fact, that the cpu consumption is going up to 100% even if the two other threads are idle (e.g. while waiting for data).
I pinned that down to TUnixSystem::DispatchOneEvent() in which a new return condition was intriduced just before doing a select on file descriptors. Now the function returns immediately if there are no file descriptors to check and if there are no timer events left. This results in a cpu consuming event loop in TSystem::Run().
Since this was introduced explicitly, that seems to be the wanted behaviour. So how should I start the event loop to avoid using the processor 100%?