[Jack-Devel] jack and signals
Hi,
I've just noticed that Jack does its own signal handling. Since
applications may well expect to interact with SIGINT and even SIGPIPE,
conflicts may arise. Is Jack's use of signals specified anywhere? What
signals can a client handle and from what threads, what signals can it
block, are existing handlers chained by Jack, etc?
I also noticed calls to non-multi-threaded signal functions (such as
signal(), sigprocmask ()) in the jack2 codebase -- mostly in examples,
but also in common/JackControlAPI.cpp. POSIX specifically states that
any use of these functions is unspecified in multi-threaded programs.
Since their threading-safe counterparts (pthread_sigmask(),
sigaction()) are used elsewhere in the codebase, their use could be
easily eliminated.
BTW, I'm in jack2 now. But such things should be specified for both
jack1 and jack2.
-- Dan
1304786750.27509_0.ltw:2,a <BANLkTi=f28kwRoXBVCFAuN3miEq3Rt3X7A at mail dot gmail dot com>