Right, from XrdOss/XrdOssAio.cc:
#ifdef _POSIX_ASYNCHRONOUS_IO
#ifdef SIGRTMAX
const int OSS_AIO_READ_DONE = SIGRTMAX-1;
const int OSS_AIO_WRITE_DONE = SIGRTMAX;
#else
#define OSS_AIO_READ_DONE SIGUSR1
#define OSS_AIO_WRITE_DONE SIGUSR2
#endif
#endif
So I'd assume the signal handlers do not get setup correctly ... or somebody spawns a thread in some plugin in a way that does not give xrootd a chance to block them for that thread. IIRC, signals can get delivered to any thread that does not block them (so one usually sets up a special signal handling thread where a specific set of signals gets unblocked).
We need a core for sure :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Use REPLY-ALL to reply to list
To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1