Hello Stefan,
On Thu, Oct 24, 2019 at 15:41:46 CEST, Stefan Thöni wrote:
The main thread 2 is waiting at pthread_cond_timedwait which blocks at a genode semaphore.
How should we patch this?
The deadlock potential described in my previous mail was identified some time ago but did not occur in our use cases. We are actually working on this topic during our libc overhaul but are not finished yet. What you could do in the mean time is to identify the cause of this situation and try to solve it outside the libc.
- Why is the mutex hold during a blocking call to poll()? Could this be changed? - How big is the timeout in pthread_cond_timedwait and should the main thread wake up to resolve the lock situation? Could the timeout be reduced and accompanied by a loop? - Could the pthread support (resp. the use of multiple threads) be disabled in the RPC library?
Greets