本文整理汇总了C++中ACL_ARRAY::pop_back方法的典型用法代码示例。如果您正苦于以下问题:C++ ACL_ARRAY::pop_back方法的具体用法?C++ ACL_ARRAY::pop_back怎么用?C++ ACL_ARRAY::pop_back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ACL_ARRAY
的用法示例。
在下文中一共展示了ACL_ARRAY::pop_back方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
HTTP_HDR_REQ *http_hdr_req_new(void)
{
HTTP_HDR_REQ *hh;
ACL_ARRAY *pool;
if (var_http_tls_cache <= 0) {
hh = (HTTP_HDR_REQ *) http_hdr_new(sizeof(HTTP_HDR_REQ));
__hdr_init(hh);
return hh;
}
#ifdef USE_TLS_EX
pool = (ACL_ARRAY*) acl_pthread_tls_get(&cache_key);
if (pool == NULL) {
pool = acl_array_create(100);
acl_pthread_tls_set(cache_key, pool,
(void (*)(void*)) thread_cache_free);
}
pool = (ACL_ARRAY*) acl_pthread_tls_get(&cache_key);
hh = (HTTP_HDR_REQ*) pool->pop_back(pool);
if (hh) {
__hdr_reset(hh, 1);
http_hdr_reset((HTTP_HDR *) hh);
return hh;
}
#else
acl_pthread_once(&once_control, cache_init);
pool = (ACL_ARRAY*) acl_pthread_getspecific(cache_key);
if (pool == NULL) {
pool = acl_array_create(100);
acl_pthread_setspecific(cache_key, pool);
if ((unsigned long) acl_pthread_self() == acl_main_thread_self()) {
cache_pool = pool;
atexit(main_cache_free);
}
}
hh = (HTTP_HDR_REQ*) pool->pop_back(pool);
if (hh) {
__hdr_reset(hh, 1);
http_hdr_reset((HTTP_HDR *) hh);
return hh;
}
#endif
hh = (HTTP_HDR_REQ *) http_hdr_new(sizeof(HTTP_HDR_REQ));
__hdr_init(hh);
return hh;
}