Search the web
Sign In
New User? Sign Up
new-httpd
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Message search is now enhanced, find messages faster. Take it for a spin.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
[1.3 PATCH] don't hold accept mutex while running 3rd-party code at   Message List  
Reply | Forward Message #44086 of 56488 |
Re: [1.3 PATCH] don't hold accept mutex while running 3rd-party code at termination

Jeff Trawick wrote:

> two scenarios make it a bad idea to be able to hold the accept mutex
> when exiting a child process for idle child cleanup:
>
> 1) a child exit hook or a pchild cleanup takes a while
>
> This results in a brief server outage since other children can't
> accept new connections.
>
> (If a child exit hook or a pchild cleanup takes forever/deadlocks,
> we're toast anyway, since the scoreboard slot is occupied and we won't
> be able to keep creating new child processes.)
>
> 2) a child exit hook or a pchild cleanup segfaults and accept mutex
> mechanism isn't automatically cleaned up by the OS
>
> (mechanism = pthread, 3rd party module = XXX)
>
> deadlock :(
>
> If anybody wants a toy 1.3 module to sleep or segfault in child exit
> hook, just let me know. It is much easier to install than the
> commercial version.


In 1.3 (on Unix), I would expect that the thread that does the accept
would be the same thread that runs the child exit hook and pchild
cleanups. When would that not be the case? So how can case 2) ever occur?

Bill





Fri May 9, 2003 6:12 pm

bill@...
Send Email Send Email

Forward
Message #44086 of 56488 |
Expand Messages Author Sort by Date

two scenarios make it a bad idea to be able to hold the accept mutex when exiting a child process for idle child cleanup: 1) a child exit hook or a pchild...
Jeff Trawick
trawick@...
Send Email
May 9, 2003
2:52 pm

... Yes, we're always talking about single-threaded processes here (we're agnostic about other threads). The base level of understanding required is this: When...
Jeff Trawick
trawick@...
Send Email
May 9, 2003
7:43 pm

... In 1.3 (on Unix), I would expect that the thread that does the accept would be the same thread that runs the child exit hook and pchild cleanups. When...
Bill Stoddard
bill@...
Send Email
May 9, 2003
9:06 pm

... Any comments on releasing the accept mutex in the child before running 3rd-party child exit hooks or cleanups? I see that 1.3.28 headed for the runway....
Jeff Trawick
trawick@...
Send Email
May 17, 2003
10:19 am
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help