libubus: do not register/unregister with uloop during sync requests
authorFelix Fietkau <nbd@nbd.name>
Sun, 22 Jan 2017 13:33:37 +0000 (14:33 +0100)
committerFelix Fietkau <nbd@nbd.name>
Sun, 22 Jan 2017 13:39:34 +0000 (14:39 +0100)
This was leftover code from before this codepath was converted to
polling directly

Signed-off-by: Felix Fietkau <nbd@nbd.name>
libubus-req.c

index 5dcd470af661124169c86048639a08c256d862f1..db5061cad70887f15ab261154c51c732f2ea94ef 100644 (file)
@@ -140,14 +140,9 @@ int ubus_complete_request(struct ubus_context *ctx, struct ubus_request *req,
                          int req_timeout)
 {
        ubus_complete_handler_t complete_cb = req->complete_cb;
-       bool registered = ctx->sock.registered;
        int status = UBUS_STATUS_NO_DATA;
        int64_t timeout = 0, time_end = 0;
 
-       if (!registered) {
-               ubus_add_uloop(ctx);
-       }
-
        if (req_timeout)
                time_end = get_time_msec() + req_timeout;
 
@@ -186,12 +181,8 @@ int ubus_complete_request(struct ubus_context *ctx, struct ubus_request *req,
        if (req->complete_cb)
                req->complete_cb(req, status);
 
-       if (!registered) {
-               uloop_fd_delete(&ctx->sock);
-
-               if (!ctx->stack_depth)
-                       ctx->pending_timer.cb(&ctx->pending_timer);
-       }
+       if (!ctx->stack_depth && !ctx->sock.registered)
+               ctx->pending_timer.cb(&ctx->pending_timer);
 
        return status;
 }