exec_local_req_async() is called by worker threads, so it must use
deferred_register_event() instead of register_event().

Signed-off-by: Hitoshi Mitake <[email protected]>
---
 sheep/request.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sheep/request.c b/sheep/request.c
index 9f3f110..318aeb5 100644
--- a/sheep/request.c
+++ b/sheep/request.c
@@ -637,7 +637,8 @@ worker_fn int exec_local_req_async(struct sd_req *rq, void 
*data,
 
        uatomic_inc(&iocb->count);
        req->iocb = iocb;
-       register_event(req->local_req_efd, local_req_async_handler, req);
+       deferred_register_event(req->local_req_efd, local_req_async_handler,
+                               req);
        submit_local_request(req);
 
        return SD_RES_SUCCESS;
-- 
1.8.3.2

-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to