ubus_poll_data(ctx, (unsigned int) timeout);
uloop_cancelled = cancelled;
+ if (ctx->sock.eof) {
+ ubus_set_req_status(req, UBUS_STATUS_CONNECTION_FAILED);
+ break;
+ }
}
ctx->stack_depth--;
if (ctx->stack_depth)
if (!registered) {
uloop_fd_delete(&ctx->sock);
- if (ctx->stack_depth)
+ if (!ctx->stack_depth)
ctx->pending_timer.cb(&ctx->pending_timer);
}
break;
}
}
+
+int __ubus_monitor(struct ubus_context *ctx, const char *type)
+{
+ blob_buf_init(&b, 0);
+ return ubus_invoke(ctx, UBUS_SYSTEM_OBJECT_MONITOR, type, b.head, NULL, NULL, 1000);
+}