- ret = ubus_lookup_id(ctx, "log", &id);
- if (ret)
- fprintf(stderr, "Failed to find log object: %s\n", ubus_strerror(ret));
-
- if (!subscribe || lines) {
- blob_buf_init(&b, 0);
- if (lines)
- blobmsg_add_u32(&b, "lines", lines);
- ubus_invoke(ctx, id, "read", b.head, read_cb, 0, 3000);
- }
+ /* ugly ugly ugly ... we need a real reconnect logic */
+ do {
+ ret = ubus_lookup_id(ctx, "log", &id);
+ if (ret) {
+ fprintf(stderr, "Failed to find log object: %s\n", ubus_strerror(ret));
+ sleep(1);
+ continue;
+ }
+ if (!subscribe || lines) {
+ blob_buf_init(&b, 0);
+ if (lines)
+ blobmsg_add_u32(&b, "lines", lines);
+ ubus_invoke(ctx, id, "read", b.head, read_cb, 0, 3000);
+ }