Another showstopper in 2.2.5

jra at dp.samba.org jra at dp.samba.org
Wed Aug 21 15:10:00 GMT 2002


On Wed, Aug 21, 2002 at 04:17:01PM -0400, Richard Bollinger wrote:
> Hmmm... reading the man page for sigaction()... the semantics are a bit unclear regarding sa_mask:
> 
>       sa_mask  gives  a  mask of signals which should be blocked
>        during execution of the signal handler.  In addition,  the
>        signal which triggered the handler will be blocked, unless
>        the SA_NODEFER or SA_NOMASK flags are used.
> 
> So... for example, if the mask indicated only that we wanted to block SIGQUIT, for example, could
> the signal handler being registered be hit by SIGPIPE while it is running?  That being the case,
> would we need to specify a mask which includes at least everything we've decided to IGNORE?

Ok (I'm at the CIFS plugfest) - I just checked the POSIX spec
and the mask in the sigaction struct should be *added* to
the signal mask when the signal is taken. Tridge just checked
on his Linux 2.4.x box and SIGPIPE is definately masked (checked
in proc on the running smbd process).

It could be a bug in Linux and not Solaris though - can you
try adding the line 

sigfillset(&act.sa_mask);

just before the sigaction call in the CatchSignal() call.

Jeremy.



More information about the samba-technical mailing list