144 } |
144 } |
145 |
145 |
146 threadpool_t* get_iopool(cxstring name) { |
146 threadpool_t* get_iopool(cxstring name) { |
147 return cxMapGet(io_pool_map, cx_hash_key_bytes((const unsigned char*)name.ptr, name.length)); |
147 return cxMapGet(io_pool_map, cx_hash_key_bytes((const unsigned char*)name.ptr, name.length)); |
148 } |
148 } |
|
149 |
|
150 |
|
151 void shutdown_threadpools(void) { |
|
152 log_ereport(LOG_INFORM, "shutdown threadpools"); |
|
153 CxIterator i = cxMapIteratorValues(thread_pool_map); |
|
154 cx_foreach(threadpool_t*, tp, i) { |
|
155 threadpool_shutdown(tp); |
|
156 } |
|
157 i = cxMapIteratorValues(io_pool_map); |
|
158 cx_foreach(threadpool_t*, tp, i) { |
|
159 threadpool_shutdown(tp); |
|
160 } |
|
161 } |