httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Manoj Kasichainula <>
Subject Re: [mpm] No sigwait(2) on SVR4
Date Fri, 13 Aug 1999 19:29:37 GMT
On Fri, Aug 13, 1999 at 01:26:53PM +0200, Martin Kraemer wrote:
> The mpmt_pthread uses sigwait() in recent versions. Unfortunately,
> sigwait(2) is unavailable in some (many?) SVR4 versions, and no easy
> emulation is at hand.

Pthread_* calls are implemented but not sigwait? Blah.

> How can I (portably) work around the missing sigwait()?

Not with any simple changes. The main problem is that pools can't be
cleaned from signal handlers, since the pools use pthread calls.

Ryan had a potential method for getting rid of the sigwait thread a
few months ago; I think it failed to process the signal under some
very rare and extreme cases, but it's been too long and I forget what
it was. Can you post it to the list, Ryan?

On Fri, Aug 13, 1999 at 07:23:00AM -0400, Ryan Bloom wrote:
> I suggest figuring out how Manoj has it setup to use signal for the
> single threaded case, and using the same method.

All that single-threaded mode does for signals is set signal handlers
and not start the sigwait thread. Look for the NO_THREADS defines in
mpmt_pthread.c. This is okay in the unthreaded case, because there
aren't (or won't be soon) pthread calls in the signal handler when
running nonthreaded.

SVR4 may not have the restriction on pthread calls in the signal
handler that is imposed on portable pthreads code, so if you try the
same technique, it might work.

Manoj Kasichainula - manojk at io dot com -
"Life is like an analogy." - Aaron Allston

View raw message