libubus: do not register/unregister with uloop during sync requests
[project/ubus.git] / libubus.c
index b25d8b0..9463522 100644 (file)
--- a/libubus.c
+++ b/libubus.c
@@ -277,6 +277,7 @@ static void ubus_default_connection_lost(struct ubus_context *ctx)
 
 int ubus_connect_ctx(struct ubus_context *ctx, const char *path)
 {
+       uloop_init();
        memset(ctx, 0, sizeof(*ctx));
 
        ctx->sock.fd = -1;
@@ -362,6 +363,7 @@ void ubus_shutdown(struct ubus_context *ctx)
        if (!ctx)
                return;
        close(ctx->sock.fd);
+       uloop_timeout_cancel(&ctx->pending_timer);
        free(ctx->msgbuf.data);
 }