Greetings, We've been using pgpool-1 for its connection pooling for a while and have often had some issues with some child processes hanging in idle state and not dying after either of their child_life_time and connection_life_time have expired. I've usually just killed them manually but today I decided to dig in a little deeper.
When stracing one of the idle (as in idle is displayed in the ps display and I can track these procs to idle connection in pg_stat_activity) they are sitting on: select(10, [8 9], [], [8 9], NULL Looking into the code base I seen these select calls come from pool_process_query.c. I note that before the various selects are run a timeval struct is set up but then not used in any of the select calls. Is this deliberate? Is this why these procs are hanging? What is supposed to generate events on the read/error descriptors so that, in the absence of a timeout val, the code can continue and get back to the life/connection expiration handling in do_child() in child.c? Erik Jones Software Developer | Emma® [EMAIL PROTECTED] 800.595.4401 or 615.292.5888 615.292.0777 (fax) Emma helps organizations everywhere communicate & market in style. Visit us online at http://www.myemma.com _______________________________________________ Pgpool-general mailing list [email protected] http://pgfoundry.org/mailman/listinfo/pgpool-general
