From 4da8e81989f6ed86628d6497397b22e0cd8daf53 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Mon, 30 Sep 2024 21:29:08 -0600 Subject: libcr_ipc: Redo --- lib9p/srv.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'lib9p/srv.c') diff --git a/lib9p/srv.c b/lib9p/srv.c index 9bfe19e..478a642 100644 --- a/lib9p/srv.c +++ b/lib9p/srv.c @@ -190,8 +190,7 @@ COROUTINE lib9p_srv_read_cr(void *_srv) { goto close; /* Handle the message... in another coroutine. */ - cr_chan_send(&srv->reqch, &req); - cr_pause_and_yield(); /* wait for it to have copied req */ + _lib9p_srv_reqch_send_req(&srv->_reqch, &req); } close: netio_close(conn.fd, true, sess.reqs.len == 0); @@ -235,12 +234,12 @@ COROUTINE lib9p_srv_write_cr(void *_srv) { for (;;) { /* Receive the request from the reader coroutine. */ struct lib9p_req req; - struct lib9p_req *_req_p; - cr_chan_recv(&srv->reqch, &_req_p); - req = *_req_p; + _lib9p_srv_reqch_req_t req_handle; + req_handle = _lib9p_srv_reqch_recv_req(&srv->_reqch); + req = *req_handle.req; memcpy(net, req.net_bytes, decode_u32le(req.net_bytes)); req.net_bytes = net; - cr_unpause(req.parent_sess->parent_conn->reader); /* notify that we've copied req */ + _lib9p_srv_reqch_send_resp(req_handle, 0); /* notify that we've copied req */ handle_Tmessage(&req); -- cgit v1.2.3-2-g168b