[Xenomai] Cobalt __SIGPOOL_SIZE

Jan Kiszka jan.kiszka at siemens.com
Mon Jul 2 15:18:39 CEST 2018


Hi Philippe,

The comment for __SIGPOOL_SIZE in kernel/cobalt/posix/signal.c suggests
that there can't be many signals in pending state at the same time, but
I think it is wrong: Signal are collected per thread, and each of it can
pile up multiple of them. Even if we assume that typical threads will
not queue those for long and will not wait for many of them, the fact
that the system-wide(!) number of threads is a scaling factor and the
pool is system-wide as well makes me wonder if __SIGPOOL_SIZE shouldn't
become a tunable.

BTW, I think we are leaking pending signals on thread destruction.
Currently writing a test case, and I already have a fix candidate at hand.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux



More information about the Xenomai mailing list