httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <>
Subject Re: cvs commit: apache-2.0/src/lib/apr/include
Date Tue, 02 May 2000 17:01:10 GMT
> In article <> you wrote:
> > [...]
> >   Note that the behaviour of sigprocmask in a multi-threaded program is
> >   undefined. The AIX 4.3 documentation explicitly says "The
> >   sigprocmask, sigsetmask, and sigblock subroutines must not be used in
> >   a multi-threaded application."
> > [...]
> I've currently not the time to consult my books, but I think that the
> behaviour of sigprocmask is not _undefined_ in a MT program. AFAIK POSIX
> actually defines the behaviour to be the same as for non-MT programs,
> i.e., sigprocmask() changes the signal mask of the underlaying process.
> Whether this is in sync with the thread's particular expections is a
> different point. But AFAIK it is pretty legal to use sigprocmask in a
> MT program. One just cannot assume that sigprocmask() changes only the
> threads signal mask. That's all...
>                                        Ralf S. Engelschall

(This isn't directed at Ralf's comments specifically but it is related
to the general discussion.)

On a system such as OS/390 where sigprocmask() is the correct (and
only) way to change a thread's signal mask, what is an appropriate
mechanism to get dexter and mpmt_pthread to call sigprocmask() instead
of pthread_sigmask()?  I gather that we can't necessarily safely call
sigprocmask() just because a system has pthreads but doesn't have


Jeff Trawick | | PGP public key at web site:
          Born in Roswell... married an alien...

View raw message