[Xenomai] Deadlock in CANCEL_RESTORE with CONFIG_XENO_ASYNC_CANCEL during thread suspension

Matthias Schneider ma30002000 at yahoo.de
Sun Apr 6 13:50:25 CEST 2014


Hi all,

using xenomai-forge with mercury, when 
CONFIG_XENO_ASYNC_CANCEL is defined, CANCEL_RESTORE
will include a call to backtrace_check(), which in turn
will call backtrace_dump, which will take the
mutex "__printlock".

In case a thread gets suspended while holding that lock, 
the next call to CANCEL_RESTORE from whatever thread will
cause a deadlock. 

Is there any way of getting around that? 

Regards,
Matthias 





More information about the Xenomai mailing list