以下示例列出了在应用程序的池 pset 中定义的所有资源池。
该示例的要点包括以下内容:
采用 PO_RDONLY 以只读方式打开动态 conf 文件。pool_query_pools() 将池列表返回到 pl 中,并将池数目返回到 nelem 中。对于每个池,请调用 pool_get_property() 以将 pool.name 属性从元素放入 pval 值中。
pool_get_property() 将调用 pool_to_elem() 以将 libpool 实体转换为不透明的值。pool_value_get_string() 将从不透明的池值中获取字符串。
conf = pool_conf_alloc(); pool_conf_open(conf, pool_dynamic_location(), PO_RDONLY); pl = pool_query_pools(conf, &nelem, NULL); pval = pool_value_alloc(); for (i = 0; i < nelem; i++) { pool_get_property(conf, pool_to_elem(conf, pl[i]), "pool.name", pval); pool_value_get_string(pval, &fname); printf("%s\n", name); } pool_value_free(pval); free(pl); pool_conf_close(conf);