You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Axel-Stéphane SMORGRAV <Ax...@europe.adp.com> on 2005/10/03 11:17:38 UTC

[users@httpd] Apache 2.0: Recommended Mutex types for Solaris 8,9,10

As far as I can tell, in Apache versions 2.0.49 and prior the default Mutex type (at least for AcceptMutex) was pthread. It then changed to fcntl around Apache 2.0.50 leading me to post the following http://issues.eu.apache.org/bugzilla/show_bug.cgi?id=32325 issue, and explicitly set both mutexes to pthread which appeared to solve the problem.

Several people have since posted similar problems and solved the issue by explicitly setting the mutex types to something other than AcceptMutex default and SSLMutex default.

Does anyone have any idea of the pros and cons of the different mutex types, provided they are available on any given platform? Is there any reason to use a different mutex implementation for AcceptMutex than you would for SSLMutex? What are the performance and operational issues with each mutex type?

Personally on Solaris I am reluctant to use a file-based mutex (fcntl or flock) for performance reasons, and I am reluctant to use a semaphore because I already have enough problems with orphaned semaphores as it is. I would however like to hear from someone that has some hard evidence of one type being better than the other.

-ascs

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Apache 2.0: Recommended Mutex types for Solaris 8,9,10

Posted by Joe Orton <jo...@redhat.com>.
On Mon, Oct 03, 2005 at 11:17:38AM +0200, Axel-Stéphane  SMORGRAV wrote:
> As far as I can tell, in Apache versions 2.0.49 and prior the default 
> Mutex type (at least for AcceptMutex) was pthread. It then changed to 
> fcntl around Apache 2.0.50 leading me to post the following 
> http://issues.eu.apache.org/bugzilla/show_bug.cgi?id=32325 issue, and 
> explicitly set both mutexes to pthread which appeared to solve the 
> problem.
>
> Several people have since posted similar problems and solved the issue 
> by explicitly setting the mutex types to something other than 
> AcceptMutex default and SSLMutex default.
> 
> Does anyone have any idea of the pros and cons of the different mutex 
> types, provided they are available on any given platform? Is there any 
> reason to use a different mutex implementation for AcceptMutex than 
> you would for SSLMutex? What are the performance and operational 
> issues with each mutex type?

A pthread cross-process mutex is not released if the process holding it 
segfaults; this can lead to the entire server deadlocking particularly 
if using a threaded MPM.

I don't think anybody knows what conditions will lead to the fcntl 
EDEADLK issue on Solaris, that is really a problem which needs more 
investigation.

(historically, 1.3 always used fnctl on Solaris IIRC, so it is 
definitely the most "tried and tested")

joe

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org