Lines Matching refs:ctx_impl

46     nxt_unit_ctx_impl_t *ctx_impl, void *data);
95 nxt_unit_ctx_impl_t *ctx_impl);
118 nxt_unit_ctx_impl_t *ctx_impl);
148 static void nxt_unit_ctx_free(nxt_unit_ctx_impl_t *ctx_impl);
214 nxt_unit_ctx_impl_t *ctx_impl; member
274 nxt_unit_ctx_impl_t *ctx_impl; member
280 nxt_unit_ctx_impl_t *ctx_impl; member
670 nxt_unit_ctx_init(nxt_unit_impl_t *lib, nxt_unit_ctx_impl_t *ctx_impl, in nxt_unit_ctx_init() argument
675 ctx_impl->ctx.data = data; in nxt_unit_ctx_init()
676 ctx_impl->ctx.unit = &lib->unit; in nxt_unit_ctx_init()
678 rc = pthread_mutex_init(&ctx_impl->mutex, NULL); in nxt_unit_ctx_init()
689 nxt_queue_insert_tail(&lib->contexts, &ctx_impl->link); in nxt_unit_ctx_init()
693 ctx_impl->use_count = 1; in nxt_unit_ctx_init()
694 ctx_impl->wait_items = 0; in nxt_unit_ctx_init()
695 ctx_impl->online = 1; in nxt_unit_ctx_init()
696 ctx_impl->ready = 0; in nxt_unit_ctx_init()
697 ctx_impl->quit_param = NXT_QUIT_GRACEFUL; in nxt_unit_ctx_init()
699 nxt_queue_init(&ctx_impl->free_req); in nxt_unit_ctx_init()
700 nxt_queue_init(&ctx_impl->free_ws); in nxt_unit_ctx_init()
701 nxt_queue_init(&ctx_impl->active_req); in nxt_unit_ctx_init()
702 nxt_queue_init(&ctx_impl->ready_req); in nxt_unit_ctx_init()
703 nxt_queue_init(&ctx_impl->pending_rbuf); in nxt_unit_ctx_init()
704 nxt_queue_init(&ctx_impl->free_rbuf); in nxt_unit_ctx_init()
706 ctx_impl->free_buf = NULL; in nxt_unit_ctx_init()
707 nxt_unit_mmap_buf_insert(&ctx_impl->free_buf, &ctx_impl->ctx_buf[1]); in nxt_unit_ctx_init()
708 nxt_unit_mmap_buf_insert(&ctx_impl->free_buf, &ctx_impl->ctx_buf[0]); in nxt_unit_ctx_init()
710 nxt_queue_insert_tail(&ctx_impl->free_req, &ctx_impl->req.link); in nxt_unit_ctx_init()
711 nxt_queue_insert_tail(&ctx_impl->free_rbuf, &ctx_impl->ctx_read_buf.link); in nxt_unit_ctx_init()
713 ctx_impl->ctx_read_buf.ctx_impl = ctx_impl; in nxt_unit_ctx_init()
715 ctx_impl->req.req.ctx = &ctx_impl->ctx; in nxt_unit_ctx_init()
716 ctx_impl->req.req.unit = &lib->unit; in nxt_unit_ctx_init()
718 ctx_impl->read_port = NULL; in nxt_unit_ctx_init()
719 ctx_impl->requests.slot = 0; in nxt_unit_ctx_init()
728 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_ctx_use() local
730 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_ctx_use()
732 nxt_atomic_fetch_add(&ctx_impl->use_count, 1); in nxt_unit_ctx_use()
740 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_ctx_release() local
742 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_ctx_release()
744 c = nxt_atomic_fetch_add(&ctx_impl->use_count, -1); in nxt_unit_ctx_release()
747 nxt_unit_ctx_free(ctx_impl); in nxt_unit_ctx_release()
1247 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_ctx_ready() local
1249 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_ctx_ready()
1251 if (nxt_slow_path(ctx_impl->ready)) { in nxt_unit_ctx_ready()
1255 ctx_impl->ready = 1; in nxt_unit_ctx_ready()
1260 if (&lib->main_ctx == ctx_impl && lib->callbacks.ready_handler != NULL) { in nxt_unit_ctx_ready()
1264 if (&lib->main_ctx != ctx_impl) { in nxt_unit_ctx_ready()
1267 ctx_impl->ready = 0; in nxt_unit_ctx_ready()
1475 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_request_check_response_port() local
1481 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_request_check_response_port()
1511 nxt_atomic_fetch_add(&ctx_impl->wait_items, 1); in nxt_unit_request_check_response_port()
1584 nxt_atomic_fetch_add(&ctx_impl->wait_items, 1); in nxt_unit_request_check_response_port()
1596 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_send_req_headers_ack() local
1600 ctx_impl = nxt_container_of(req->ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_send_req_headers_ack()
1607 msg.reply_port = ctx_impl->read_port->id.id; in nxt_unit_send_req_headers_ack()
1748 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_request_info_get() local
1751 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_request_info_get()
1755 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_request_info_get()
1757 if (nxt_queue_is_empty(&ctx_impl->free_req)) { in nxt_unit_request_info_get()
1758 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_request_info_get()
1769 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_request_info_get()
1772 lnk = nxt_queue_first(&ctx_impl->free_req); in nxt_unit_request_info_get()
1778 nxt_queue_insert_tail(&ctx_impl->active_req, &req_impl->link); in nxt_unit_request_info_get()
1780 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_request_info_get()
1792 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_request_info_release() local
1796 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_request_info_release()
1828 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_request_info_release()
1832 nxt_queue_insert_tail(&ctx_impl->free_req, &req_impl->link); in nxt_unit_request_info_release()
1834 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_request_info_release()
1845 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_request_info_free() local
1847 ctx_impl = nxt_container_of(req_impl->req.ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_request_info_free()
1851 if (req_impl != &ctx_impl->req) { in nxt_unit_request_info_free()
1852 nxt_unit_free(&ctx_impl->ctx, req_impl); in nxt_unit_request_info_free()
1861 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_websocket_frame_get() local
1864 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_websocket_frame_get()
1866 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_websocket_frame_get()
1868 if (nxt_queue_is_empty(&ctx_impl->free_ws)) { in nxt_unit_websocket_frame_get()
1869 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_websocket_frame_get()
1877 lnk = nxt_queue_first(&ctx_impl->free_ws); in nxt_unit_websocket_frame_get()
1880 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_websocket_frame_get()
1885 ws_impl->ctx_impl = ctx_impl; in nxt_unit_websocket_frame_get()
1904 pthread_mutex_lock(&ws_impl->ctx_impl->mutex); in nxt_unit_websocket_frame_release()
1906 nxt_queue_insert_tail(&ws_impl->ctx_impl->free_ws, &ws_impl->link); in nxt_unit_websocket_frame_release()
1908 pthread_mutex_unlock(&ws_impl->ctx_impl->mutex); in nxt_unit_websocket_frame_release()
2450 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_mmap_buf_get() local
2452 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_mmap_buf_get()
2454 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_mmap_buf_get()
2456 if (ctx_impl->free_buf == NULL) { in nxt_unit_mmap_buf_get()
2457 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_mmap_buf_get()
2465 mmap_buf = ctx_impl->free_buf; in nxt_unit_mmap_buf_get()
2469 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_mmap_buf_get()
2472 mmap_buf->ctx_impl = ctx_impl; in nxt_unit_mmap_buf_get()
2486 pthread_mutex_lock(&mmap_buf->ctx_impl->mutex); in nxt_unit_mmap_buf_release()
2488 nxt_unit_mmap_buf_insert(&mmap_buf->ctx_impl->free_buf, mmap_buf); in nxt_unit_mmap_buf_release()
2490 pthread_mutex_unlock(&mmap_buf->ctx_impl->mutex); in nxt_unit_mmap_buf_release()
2766 nxt_unit_mmap_release(&mmap_buf->ctx_impl->ctx, in nxt_unit_free_outgoing_buf()
2776 nxt_unit_free(&mmap_buf->ctx_impl->ctx, mmap_buf->free_ptr); in nxt_unit_free_outgoing_buf()
2786 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_read_buf_get() local
2789 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_read_buf_get()
2791 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_read_buf_get()
2793 rbuf = nxt_unit_read_buf_get_impl(ctx_impl); in nxt_unit_read_buf_get()
2795 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_read_buf_get()
2804 nxt_unit_read_buf_get_impl(nxt_unit_ctx_impl_t *ctx_impl) in nxt_unit_read_buf_get_impl() argument
2809 if (!nxt_queue_is_empty(&ctx_impl->free_rbuf)) { in nxt_unit_read_buf_get_impl()
2810 link = nxt_queue_first(&ctx_impl->free_rbuf); in nxt_unit_read_buf_get_impl()
2818 rbuf = nxt_unit_malloc(&ctx_impl->ctx, sizeof(nxt_unit_read_buf_t)); in nxt_unit_read_buf_get_impl()
2821 rbuf->ctx_impl = ctx_impl; in nxt_unit_read_buf_get_impl()
2832 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_read_buf_release() local
2834 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_read_buf_release()
2836 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_read_buf_release()
2838 nxt_queue_insert_head(&ctx_impl->free_rbuf, &rbuf->link); in nxt_unit_read_buf_release()
2840 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_read_buf_release()
3648 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_wait_shm_ack() local
3651 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_wait_shm_ack()
3660 res = nxt_unit_ctx_port_recv(ctx, ctx_impl->read_port, rbuf); in nxt_unit_wait_shm_ack()
3674 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_wait_shm_ack()
3676 nxt_queue_insert_tail(&ctx_impl->pending_rbuf, &rbuf->link); in nxt_unit_wait_shm_ack()
3678 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_wait_shm_ack()
3988 mmap_buf->ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_get_outgoing_buf()
4007 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_incoming_mmap() local
4071 ctx_impl = rbuf->ctx_impl; in nxt_unit_incoming_mmap()
4073 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_incoming_mmap()
4075 nxt_queue_insert_head(&ctx_impl->pending_rbuf, &rbuf->link); in nxt_unit_incoming_mmap()
4077 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_incoming_mmap()
4079 nxt_atomic_fetch_add(&ctx_impl->wait_items, -1); in nxt_unit_incoming_mmap()
4081 nxt_unit_awake_ctx(ctx, ctx_impl); in nxt_unit_incoming_mmap()
4090 nxt_unit_awake_ctx(nxt_unit_ctx_t *ctx, nxt_unit_ctx_impl_t *ctx_impl) in nxt_unit_awake_ctx() argument
4094 if (nxt_fast_path(ctx == &ctx_impl->ctx)) { in nxt_unit_awake_ctx()
4098 if (nxt_slow_path(ctx_impl->read_port == NULL in nxt_unit_awake_ctx()
4099 || ctx_impl->read_port->out_fd == -1)) in nxt_unit_awake_ctx()
4110 (void) nxt_unit_port_send(ctx, ctx_impl->read_port, in nxt_unit_awake_ctx()
4175 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_check_rbuf_mmap() local
4200 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_check_rbuf_mmap()
4202 nxt_atomic_fetch_add(&ctx_impl->wait_items, 1); in nxt_unit_check_rbuf_mmap()
4314 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_get_mmap() local
4322 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_get_mmap()
4327 m.msg.reply_port = ctx_impl->read_port->id.id; in nxt_unit_get_mmap()
4537 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_run() local
4541 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_run()
4545 while (nxt_fast_path(ctx_impl->online)) { in nxt_unit_run()
4615 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_read_buf() local
4619 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_read_buf()
4621 if (ctx_impl->wait_items > 0 || !nxt_unit_chk_ready(ctx)) { in nxt_unit_read_buf()
4622 return nxt_unit_ctx_port_recv(ctx, ctx_impl->read_port, rbuf); in nxt_unit_read_buf()
4625 port_impl = nxt_container_of(ctx_impl->read_port, nxt_unit_port_impl_t, in nxt_unit_read_buf()
4633 res = nxt_unit_port_queue_recv(ctx_impl->read_port, rbuf); in nxt_unit_read_buf()
4639 (int) ctx_impl->read_port->id.pid, in nxt_unit_read_buf()
4640 (int) ctx_impl->read_port->id.id, in nxt_unit_read_buf()
4645 (int) ctx_impl->read_port->id.pid, in nxt_unit_read_buf()
4646 (int) ctx_impl->read_port->id.id, in nxt_unit_read_buf()
4669 fds[0].fd = ctx_impl->read_port->in_fd; in nxt_unit_read_buf()
4696 res = nxt_unit_ctx_port_recv(ctx, ctx_impl->read_port, rbuf); in nxt_unit_read_buf()
4725 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_chk_ready() local
4727 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_chk_ready()
4730 return (ctx_impl->ready in nxt_unit_chk_ready()
4741 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_process_pending_rbuf() local
4744 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_process_pending_rbuf()
4746 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_process_pending_rbuf()
4748 if (nxt_queue_is_empty(&ctx_impl->pending_rbuf)) { in nxt_unit_process_pending_rbuf()
4749 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_process_pending_rbuf()
4756 nxt_queue_add(&pending_rbuf, &ctx_impl->pending_rbuf); in nxt_unit_process_pending_rbuf()
4757 nxt_queue_init(&ctx_impl->pending_rbuf); in nxt_unit_process_pending_rbuf()
4759 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_process_pending_rbuf()
4766 rc = nxt_unit_process_msg(&ctx_impl->ctx, rbuf, NULL); in nxt_unit_process_pending_rbuf()
4774 if (!ctx_impl->ready) { in nxt_unit_process_pending_rbuf()
4788 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_process_ready_req() local
4792 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_process_ready_req()
4794 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_process_ready_req()
4796 if (nxt_queue_is_empty(&ctx_impl->ready_req)) { in nxt_unit_process_ready_req()
4797 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_process_ready_req()
4804 nxt_queue_add(&ready_req, &ctx_impl->ready_req); in nxt_unit_process_ready_req()
4805 nxt_queue_init(&ctx_impl->ready_req); in nxt_unit_process_ready_req()
4807 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_process_ready_req()
4812 lib = nxt_container_of(ctx_impl->ctx.unit, nxt_unit_impl_t, unit); in nxt_unit_process_ready_req()
4855 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_run_ctx() local
4859 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_run_ctx()
4863 while (nxt_fast_path(ctx_impl->online)) { in nxt_unit_run_ctx()
4872 rc = nxt_unit_ctx_port_recv(ctx, ctx_impl->read_port, rbuf); in nxt_unit_run_ctx()
5180 nxt_unit_ctx_free(nxt_unit_ctx_impl_t *ctx_impl) in nxt_unit_ctx_free() argument
5188 lib = nxt_container_of(ctx_impl->ctx.unit, nxt_unit_impl_t, unit); in nxt_unit_ctx_free()
5190 nxt_queue_each(req_impl, &ctx_impl->active_req, in nxt_unit_ctx_free()
5199 nxt_unit_mmap_buf_unlink(&ctx_impl->ctx_buf[0]); in nxt_unit_ctx_free()
5200 nxt_unit_mmap_buf_unlink(&ctx_impl->ctx_buf[1]); in nxt_unit_ctx_free()
5202 while (ctx_impl->free_buf != NULL) { in nxt_unit_ctx_free()
5203 mmap_buf = ctx_impl->free_buf; in nxt_unit_ctx_free()
5205 nxt_unit_free(&ctx_impl->ctx, mmap_buf); in nxt_unit_ctx_free()
5208 nxt_queue_each(req_impl, &ctx_impl->free_req, in nxt_unit_ctx_free()
5215 nxt_queue_each(ws_impl, &ctx_impl->free_ws, in nxt_unit_ctx_free()
5218 nxt_unit_websocket_frame_free(&ctx_impl->ctx, ws_impl); in nxt_unit_ctx_free()
5222 nxt_queue_each(rbuf, &ctx_impl->free_rbuf, nxt_unit_read_buf_t, link) in nxt_unit_ctx_free()
5224 if (rbuf != &ctx_impl->ctx_read_buf) { in nxt_unit_ctx_free()
5225 nxt_unit_free(&ctx_impl->ctx, rbuf); in nxt_unit_ctx_free()
5229 pthread_mutex_destroy(&ctx_impl->mutex); in nxt_unit_ctx_free()
5233 nxt_queue_remove(&ctx_impl->link); in nxt_unit_ctx_free()
5237 if (nxt_fast_path(ctx_impl->read_port != NULL)) { in nxt_unit_ctx_free()
5238 nxt_unit_remove_port(lib, NULL, &ctx_impl->read_port->id); in nxt_unit_ctx_free()
5239 nxt_unit_port_release(ctx_impl->read_port); in nxt_unit_ctx_free()
5242 if (ctx_impl != &lib->main_ctx) { in nxt_unit_ctx_free()
5243 nxt_unit_free(&lib->main_ctx.ctx, ctx_impl); in nxt_unit_ctx_free()
5620 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_process_awaiting_req() local
5628 ctx_impl = nxt_container_of(req_impl->req.ctx, nxt_unit_ctx_impl_t, in nxt_unit_process_awaiting_req()
5631 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_process_awaiting_req()
5633 nxt_queue_insert_tail(&ctx_impl->ready_req, in nxt_unit_process_awaiting_req()
5636 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_process_awaiting_req()
5638 nxt_atomic_fetch_add(&ctx_impl->wait_items, -1); in nxt_unit_process_awaiting_req()
5640 nxt_unit_awake_ctx(ctx, ctx_impl); in nxt_unit_process_awaiting_req()
5759 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_quit() local
5770 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_quit()
5772 nxt_unit_debug(ctx, "quit: %d/%d/%d", (int) quit_param, ctx_impl->ready, in nxt_unit_quit()
5773 ctx_impl->online); in nxt_unit_quit()
5775 if (nxt_slow_path(!ctx_impl->online)) { in nxt_unit_quit()
5780 && !ctx_impl->ready; in nxt_unit_quit()
5784 if (nxt_fast_path(ctx_impl->ready)) { in nxt_unit_quit()
5785 ctx_impl->ready = 0; in nxt_unit_quit()
5793 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_quit()
5795 quit = nxt_queue_is_empty(&ctx_impl->active_req) in nxt_unit_quit()
5796 && nxt_queue_is_empty(&ctx_impl->pending_rbuf) in nxt_unit_quit()
5797 && ctx_impl->wait_items == 0; in nxt_unit_quit()
5799 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_quit()
5803 ctx_impl->quit_param = NXT_QUIT_GRACEFUL; in nxt_unit_quit()
5807 ctx_impl->online = 0; in nxt_unit_quit()
5813 nxt_queue_each(req_impl, &ctx_impl->active_req, in nxt_unit_quit()
5831 if (nxt_fast_path(ctx_impl->read_port != NULL)) { in nxt_unit_quit()
5832 nxt_unit_remove_port(lib, ctx, &ctx_impl->read_port->id); in nxt_unit_quit()
5848 nxt_queue_each(ctx_impl, &lib->contexts, nxt_unit_ctx_impl_t, link) { in nxt_unit_quit()
5850 if (ctx == &ctx_impl->ctx in nxt_unit_quit()
5851 || ctx_impl->read_port == NULL in nxt_unit_quit()
5852 || ctx_impl->read_port->out_fd == -1) in nxt_unit_quit()
5857 (void) nxt_unit_port_send(ctx, ctx_impl->read_port, in nxt_unit_quit()
5871 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_get_port() local
5879 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_get_port()
5884 m.msg.reply_port = ctx_impl->read_port->id.id; in nxt_unit_get_port()
6497 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_request_hash_add() local
6515 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_request_hash_add()
6517 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_request_hash_add()
6519 res = nxt_lvlhsh_insert(&ctx_impl->requests, &lhq); in nxt_unit_request_hash_add()
6521 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_request_hash_add()
6540 nxt_unit_ctx_impl_t *ctx_impl; in nxt_unit_request_hash_find() local
6549 ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); in nxt_unit_request_hash_find()
6551 pthread_mutex_lock(&ctx_impl->mutex); in nxt_unit_request_hash_find()
6554 res = nxt_lvlhsh_delete(&ctx_impl->requests, &lhq); in nxt_unit_request_hash_find()
6557 res = nxt_lvlhsh_find(&ctx_impl->requests, &lhq); in nxt_unit_request_hash_find()
6560 pthread_mutex_unlock(&ctx_impl->mutex); in nxt_unit_request_hash_find()