rem: if (tcheck > 0) { Ns_ScheduleProc(CheckPools, NULL, 1, tcheck); }
context: NsDbInitPools(void){    Tcl_HashEntry  *hPtr;    Pool           *poolPtr;    Ns_Set         *pools;    char           *path, *pool, *driver;    int		    new, i, tcheck;    /*     * Attempt to create each database pool.     */    Tcl_InitHashTable(&poolsTable, TCL_STRING_KEYS);    pools = Ns_ConfigSection("ns/db/pools");    tcheck = INT_MAX;    for (i = 0; pools != NULL && i < Ns_SetSize(pools); ++i) {	pool = Ns_SetKey(pools, i);	hPtr = Tcl_CreateHashEntry(&poolsTable, pool, &new);	if (!new) {	    Ns_Log(Error, "dbinit: duplicate pool: %s", pool);	    continue;		}	path = Ns_ConfigGetPath(NULL, NULL, "db", "pool", pool, NULL);	driver = Ns_ConfigGet(path, "driver");	poolPtr = CreatePool(pool, path, driver);	if (poolPtr == NULL) {	    Tcl_DeleteHashEntry(hPtr);	} else {	    Tcl_SetHashValue(hPtr, poolPtr);	    if (tcheck > poolPtr->maxidle) {	    	tcheck = poolPtr->maxidle;	    }	}    }    if (tcheck > 0) {	Ns_ScheduleProc(CheckPools, NULL, 1, tcheck);    }}