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.
 
 
Thanks

Reply via email to