pqf wrote:
> Hi, all
>     I am Ryan Pan, who wrote the first version of mod_fcgid. 
>   While I uesd mod_fastcgi(not mod_fcgid), one issue that bother me is: while 
> a fastcgi process(created by mod_fastcgi's process manager process)in a dead 
> loop, no one is respond to kick it out. So from time to time, some fastcgi 
> processes would eat up the system cpu resource.
>   So while I wrote mod_fcgid, I create a block of share memory to store the 
> fastcgi process pipe path and pid, then httpd can search this share memory to 
> get the an idle fastcgi process, and once the communication timout(which 
> usually mean the fastcgi process deadly running), httpd will kick out this 
> "corrupt" process.
>   However there is a new problem now, every time httpd search this share 
> memory, it will have to get a global mutex, which is a combination of process 
> lock an thread lock, is it(a mutex lock for search a free node in a node 
> list) too heavy? Maybe spin lock on share memory is a good idea in this case? 
> But spin lock is system dependented, and apr library doesn't have this 
> interface. 
>   I thought about this idea since I wrote mod_fcgid, but I am not sure 
> whether it is a good idea, so any advice from you guys will be highly 
> appreciated.
>   
I'd suggest use a mutex until the point that a problem is seen in practice.
I doubt that the mutex will show up in any profiling of a request using
mod_fcgid.

Barry



Reply via email to