> >> I had to fix my patch because I didn't take care the backend id. Right > >> now, it only looks at backend 0. Not sure this is a sensible thing to > >> do, but it would be easy to fix if it's not. > > > > Can you be more specific? > > > > Sure. In the function processes_reporting() (file > pool_process_reporting.c), there is this code: > > for (pool = 0; pool < pool_config->max_pool; pool++) > { > poolBE = pool*MAX_NUM_BACKENDS; > > pool is multiplied by MAX_NUM_BACKENDS to get the right pool id for the > backend 0. If I didn't use this operation, I would access pool of > inexisting backends.
poolBE = pool*MAX_NUM_BACKENDS points to info for backend 0. poolBE+1 points to info for backend 1. So you would want to have inner loop something like: for (i = 0; i< NUM_BACKENDS;i++) poolBE = pool*MAX_NUM_BACKENDS + i; Or you could use pool_coninfo_pid(proc_id, pool, i) to get the pointer to ConnectionInfo structure. See around line 474 in pcp_child.c for example. -- Tatsuo Ishii SRA OSS, Inc. Japan English: http://www.sraoss.co.jp/index_en.php Japanese: http://www.sraoss.co.jp _______________________________________________ Pgpool-hackers mailing list Pgpool-hackers@pgfoundry.org http://pgfoundry.org/mailman/listinfo/pgpool-hackers