+ if (pipe(fds) == -1) {
+ fprintf(stderr, "logd: failed to create pipe: %s\n", strerror(errno));
+ return -1;
+ }
+ ubus_request_set_fd(ctx, req, fds[0]);
+ cl = calloc(1, sizeof(*cl));
+ cl->s.stream.notify_state = client_notify_state;
+ cl->fd = fds[1];
+ ustream_fd_init(&cl->s, cl->fd);
+ list_add(&cl->list, &clients);