get 和free

1、
ngx_pool_t ** ngx_get_pool()
//use:get
ngx_pool_t **pool_address;
ngx_pool_t *pool;
pool_address = ngx_get_pool();
pool = *pool_address;
//use: free
ngx_free_pool(ngx_pool_t **pool_address)
2、
ngx_memdb_queue_pool_t * ngx_get_pool()
//use
ngx_pool_t *pool;
ngx_memdb_queue_pool_t *q;
q = ngx_get_pool();
pool = q->pool;
//use: free
ngx_free_pool(ngx_memdb_queue_pool_t *q)

3、
//free的时候把busy中的pool放在free的queue中。get的时候把busy中的pool赋空,到free的时候再把pool赋给要转向free的pool
typedef struct {
ngx_pool_t *pool;
ngx_queue_t queue;
} ngx_pool_queue_t;
typedef struct {
ngx_queue_t busy;
ngx_queue_t free;
ngx_int_t nbusy;
ngx_int_t nfree;
ngx_int_t ntotal;
}ngx_pool_queue_t;
//use:get
ngx_pool_t *ngx_get_pool();
//use:free
ngx_int_t ngx_free_pool(ngx_pool_t *pool);

猜你喜欢

转载自www.cnblogs.com/micoblog/p/10757550.html