libubus: Fix reverse order processing of pending ubus notifications messages
authorHans Dedecker <dedeckeh@gmail.com>
Mon, 2 Nov 2015 10:16:11 +0000 (11:16 +0100)
committerFelix Fietkau <nbd@openwrt.org>
Mon, 2 Nov 2015 18:02:53 +0000 (19:02 +0100)
Append ubus notification messages to the tail of the pending list
so they're processed in the order as they're put onto the pending list

Signed-off-by: Xinxing Hu <xinxing.huchn@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
libubus.c

index ccaa0690d840b26d106d3fcbb8d847b76bbf1ffa..e1e68d0218d1c32807fa5daf30e698e3bf00e916 100644 (file)
--- a/libubus.c
+++ b/libubus.c
@@ -81,7 +81,7 @@ ubus_queue_msg(struct ubus_context *ctx, struct ubus_msghdr_buf *buf)
        pending->hdr.data = data;
        memcpy(&pending->hdr.hdr, &buf->hdr, sizeof(buf->hdr));
        memcpy(data, buf->data, blob_raw_len(buf->data));
-       list_add(&pending->list, &ctx->pending);
+       list_add_tail(&pending->list, &ctx->pending);
        if (ctx->sock.registered)
                uloop_timeout_set(&ctx->pending_timer, 1);
 }