looks good to me as well, thank you!

i'll merge this back into my stuff so it'll be part of next releases.

7 settembre 2026 06:44, "Claudio Jeker" <[email protected]> wrote:

> On Mon, Sep 07, 2026 at 06:37:16AM +0200, Theo Buehler wrote:
> 
>> This diff addresses the remaining fallout from the libutil bump.
>> 
>> imsgbuf_get() does the same thing as the now removed imsg_get() except
>> that it doesn't have a special return value != -1, 0 and its return type
>> is an int, not a ssize_t.
>> 
>> None of these ports looks at this special value, so all the calls can
>> just be replaced.
> 
> Thanks for beating me to it. All the diffs look OK to me.
> 
>> diff --git a/audio/amused/patches/patch-amused_c 
>> b/audio/amused/patches/patch-amused_c
>> new file mode 100644
>> index 00000000000..f731758a4d7
>> --- /dev/null
>> +++ b/audio/amused/patches/patch-amused_c
>> @@ -0,0 +1,14 @@
>> +Index: amused.c
>> +--- amused.c.orig
>> ++++ amused.c
>> +@@ -123,8 +123,8 @@ main_dispatch_player(int sig, int event, void *d)
>> + }
>> +
>> + for (;;) {
>> +- if ((n = imsg_get(imsgbuf, &imsg)) == -1)
>> +- fatal("imsg_get");
>> ++ if ((n = imsgbuf_get(imsgbuf, &imsg)) == -1)
>> ++ fatal("imsgbuf_get");
>> + if (n == 0) /* No more messages. */
>> + break;
>> +
>> diff --git a/audio/amused/patches/patch-control_c 
>> b/audio/amused/patches/patch-control_c
>> new file mode 100644
>> index 00000000000..988c138cb97
>> --- /dev/null
>> +++ b/audio/amused/patches/patch-control_c
>> @@ -0,0 +1,23 @@
>> +Index: control.c
>> +--- control.c.orig
>> ++++ control.c
>> +@@ -279,8 +279,8 @@ control_dispatch_imsg(int fd, int event, void *bula)
>> + struct imsg imsg;
>> + struct player_mode mode;
>> + struct player_seek seek;
>> +- ssize_t n, off;
>> +- int type, all;
>> ++ ssize_t off;
>> ++ int n, type, all;
>> +
>> + if ((c = control_connbyfd(fd)) == NULL) {
>> + log_warnx("%s: fd %d: not found", __func__, fd);
>> +@@ -304,7 +304,7 @@ control_dispatch_imsg(int fd, int event, void *bula)
>> + }
>> +
>> + for (;;) {
>> +- if ((n = imsg_get(imsgbuf, &imsg)) == -1) {
>> ++ if ((n = imsgbuf_get(imsgbuf, &imsg)) == -1) {
>> + control_close(fd);
>> + return;
>> + }
>> diff --git a/audio/amused/patches/patch-ctl_c 
>> b/audio/amused/patches/patch-ctl_c
>> new file mode 100644
>> index 00000000000..3e4c275f7cc
>> --- /dev/null
>> +++ b/audio/amused/patches/patch-ctl_c
>> @@ -0,0 +1,24 @@
>> +Index: ctl.c
>> +--- ctl.c.orig
>> ++++ ctl.c
>> +@@ -417,8 +417,7 @@ ctlaction(struct parse_result *res)
>> + struct imsg imsg;
>> + struct player_status ps;
>> + struct player_event ev;
>> +- ssize_t n;
>> +- int i, type, ret = 0, done = 1;
>> ++ int i, n, type, ret = 0, done = 1;
>> +
>> + if (pledge("stdio", NULL) == -1)
>> + fatal("pledge");
>> +@@ -544,8 +543,8 @@ ctlaction(struct parse_result *res)
>> + fatalx("pipe closed");
>> +
>> + while (!done) {
>> +- if ((n = imsg_get(imsgbuf, &imsg)) == -1)
>> +- fatalx("imsg_get error");
>> ++ if ((n = imsgbuf_get(imsgbuf, &imsg)) == -1)
>> ++ fatalx("imsgbuf_get error");
>> + if (n == 0)
>> + break;
>> +
>> diff --git a/audio/amused/patches/patch-mpris2_mpris2_c
>> b/audio/amused/patches/patch-mpris2_mpris2_c
>> new file mode 100644
>> index 00000000000..cf6a8c6535a
>> --- /dev/null
>> +++ b/audio/amused/patches/patch-mpris2_mpris2_c
>> @@ -0,0 +1,23 @@
>> +Index: mpris2/mpris2.c
>> +--- mpris2/mpris2.c.orig
>> ++++ mpris2/mpris2.c
>> +@@ -456,7 +456,7 @@ imsg_dispatch(GIOChannel *chan, GIOCondition cond, gpo
>> + struct imsg imsg;
>> + struct ibuf ibuf;
>> + struct player_event event;
>> +- ssize_t n;
>> ++ int n;
>> + size_t datalen;
>> + const char *msg;
>> + char sha1buf[SHA1_DIGEST_STRING_LENGTH];
>> +@@ -467,8 +467,8 @@ imsg_dispatch(GIOChannel *chan, GIOCondition cond, gpo
>> + fatalx("pipe closed");
>> +
>> + for (;;) {
>> +- if ((n = imsg_get(imsgbuf, &imsg)) == -1)
>> +- fatal("imsg_get");
>> ++ if ((n = imsgbuf_get(imsgbuf, &imsg)) == -1)
>> ++ fatal("imsgbuf_get");
>> + if (n == 0)
>> + break;
>> +
>> diff --git a/audio/amused/patches/patch-player_c 
>> b/audio/amused/patches/patch-player_c
>> new file mode 100644
>> index 00000000000..0cca2f46a5c
>> --- /dev/null
>> +++ b/audio/amused/patches/patch-player_c
>> @@ -0,0 +1,22 @@
>> +Index: player.c
>> +--- player.c.orig
>> ++++ player.c
>> +@@ -114,15 +114,14 @@ player_dispatch(int64_t *s, int wait)
>> + struct player_seek seek;
>> + struct pollfd pfd;
>> + struct imsg imsg;
>> +- ssize_t n;
>> +- int ret;
>> ++ int n, ret;
>> +
>> + if (halted != 0)
>> + return IMSG_STOP;
>> +
>> + again:
>> +- if ((n = imsg_get(imsgbuf, &imsg)) == -1)
>> +- fatal("imsg_get");
>> ++ if ((n = imsgbuf_get(imsgbuf, &imsg)) == -1)
>> ++ fatal("imsgbuf_get");
>> + if (n == 0) {
>> + if (!wait)
>> + return -1;
>> diff --git a/audio/amused/patches/patch-web_web_c 
>> b/audio/amused/patches/patch-web_web_c
>> new file mode 100644
>> index 00000000000..aecca1d8dea
>> --- /dev/null
>> +++ b/audio/amused/patches/patch-web_web_c
>> @@ -0,0 +1,25 @@
>> +Index: web/web.c
>> +--- web/web.c.orig
>> ++++ web/web.c
>> +@@ -470,9 +470,8 @@ imsg_dispatch(int fd, int ev, void *d)
>> + struct player_status ps;
>> + struct player_event event;
>> + const char *msg;
>> +- ssize_t n;
>> + size_t datalen;
>> +- int r;
>> ++ int n, r;
>> +
>> + if (ev & EV_READ) {
>> + if ((n = imsgbuf_read(&imsgbuf)) == -1)
>> +@@ -486,8 +485,8 @@ imsg_dispatch(int fd, int ev, void *d)
>> + }
>> +
>> + for (;;) {
>> +- if ((n = imsg_get(&imsgbuf, &imsg)) == -1)
>> +- fatal("imsg_get");
>> ++ if ((n = imsgbuf_get(&imsgbuf, &imsg)) == -1)
>> ++ fatal("imsgbuf_get");
>> + if (n == 0)
>> + break;
>> +
>> diff --git a/net/gelatod/patches/patch-frontend_c 
>> b/net/gelatod/patches/patch-frontend_c
>> new file mode 100644
>> index 00000000000..9cf6e33b7ce
>> --- /dev/null
>> +++ b/net/gelatod/patches/patch-frontend_c
>> @@ -0,0 +1,24 @@
>> +Index: frontend.c
>> +--- frontend.c.orig
>> ++++ frontend.c
>> +@@ -364,8 +364,7 @@ frontend_dispatch_main(int fd, short event, void *bula
>> + struct imsg imsg;
>> + struct imsgev *iev = bula;
>> + struct imsgbuf *ibuf = &iev->ibuf;
>> +- ssize_t n;
>> +- int shut = 0;
>> ++ int n, shut = 0;
>> +
>> + if (event & EV_READ) {
>> + if ((n = imsgbuf_read(ibuf)) == -1)
>> +@@ -383,8 +382,8 @@ frontend_dispatch_main(int fd, short event, void *bula
>> + }
>> +
>> + for (;;) {
>> +- if ((n = imsg_get(ibuf, &imsg)) == -1)
>> +- fatal("%s: imsg_get error", __func__);
>> ++ if ((n = imsgbuf_get(ibuf, &imsg)) == -1)
>> ++ fatal("%s: imsgbuf_get error", __func__);
>> + if (n == 0) /* No more messages. */
>> + break;
>> +
>> diff --git a/net/gelatod/patches/patch-gelatod_c 
>> b/net/gelatod/patches/patch-gelatod_c
>> new file mode 100644
>> index 00000000000..d1281d0b667
>> --- /dev/null
>> +++ b/net/gelatod/patches/patch-gelatod_c
>> @@ -0,0 +1,24 @@
>> +Index: gelatod.c
>> +--- gelatod.c.orig
>> ++++ gelatod.c
>> +@@ -308,8 +308,7 @@ main_dispatch_frontend(int fd, short event, void *bula
>> + struct imsgbuf *ibuf;
>> + struct imsg imsg;
>> + struct clat_imsg clat_imsg;
>> +- ssize_t n;
>> +- int shut = 0;
>> ++ int n, shut = 0;
>> +
>> + ibuf = &iev->ibuf;
>> +
>> +@@ -329,8 +328,8 @@ main_dispatch_frontend(int fd, short event, void *bula
>> + }
>> +
>> + for (;;) {
>> +- if ((n = imsg_get(ibuf, &imsg)) == -1)
>> +- fatal("imsg_get");
>> ++ if ((n = imsgbuf_get(ibuf, &imsg)) == -1)
>> ++ fatal("imsgbuf_get");
>> + if (n == 0) /* No more messages. */
>> + break;
>> +
>> diff --git a/net/openmdns/patches/patch-libmdns_mdnsl_c
>> b/net/openmdns/patches/patch-libmdns_mdnsl_c
>> index 78f9ca156b8..1476464a468 100644
>> --- a/net/openmdns/patches/patch-libmdns_mdnsl_c
>> +++ b/net/openmdns/patches/patch-libmdns_mdnsl_c
>> @@ -22,7 +22,16 @@ Index: libmdns/mdnsl.c
>> }
>> 
>> void
>> -@@ -329,7 +330,7 @@ mdns_read(struct mdns *m)
>> +@@ -321,21 +322,20 @@ mdns_service_init(struct mdns_service *ms, const char
>> + ssize_t
>> + mdns_read(struct mdns *m)
>> + {
>> +- int ev;
>> +- size_t r;
>> ++ int ev, r;
>> + ssize_t n;
>> + struct imsg imsg;
>> + struct rr rr;
>> struct mdns_service ms;
>> char groupname[MAXHOSTNAMELEN];
>> 
>> @@ -31,7 +40,14 @@ Index: libmdns/mdnsl.c
>> 
>> if (n == -1 || n == 0)
>> return (n);
>> -@@ -514,7 +515,7 @@ ibuf_send_imsg(struct imsgbuf *ibuf, u_int32_t type,
>> +
>> + /* TODO call imsgctl_to_event() */
>> +- while ((r = imsg_get(&m->ibuf, &imsg)) > 0) {
>> ++ while ((r = imsgbuf_get(&m->ibuf, &imsg)) > 0) {
>> + switch (imsg.hdr.type) {
>> + case IMSG_CTL_LOOKUP: /* FALLTHROUGH */
>> + case IMSG_CTL_LOOKUP_FAILURE:
>> +@@ -514,7 +514,7 @@ ibuf_send_imsg(struct imsgbuf *ibuf, u_int32_t type,
>> 
>> imsg_close(ibuf, wbuf);
>> 
>> diff --git a/net/openmdns/patches/patch-mdnsd_control_c
>> b/net/openmdns/patches/patch-mdnsd_control_c
>> index 2231d58b848..aea465c3d6d 100644
>> --- a/net/openmdns/patches/patch-mdnsd_control_c
>> +++ b/net/openmdns/patches/patch-mdnsd_control_c
>> @@ -37,7 +37,16 @@ Index: mdnsd/control.c
>> TAILQ_REMOVE(&ctl_conns, c, entry);
>> 
>> event_del(&c->iev.ev);
>> -@@ -644,13 +651,13 @@ control_dispatch_imsg(int fd, short event, void *bula)
>> +@@ -636,7 +643,7 @@ control_dispatch_imsg(int fd, short event, void *bula)
>> + {
>> + struct ctl_conn *c;
>> + struct imsg imsg;
>> +- ssize_t n;
>> ++ int n;
>> +
>> + if ((c = control_connbyfd(fd)) == NULL) {
>> + log_warn("control_dispatch_imsg: fd %d: not found", fd);
>> +@@ -644,20 +651,20 @@ control_dispatch_imsg(int fd, short event, void *bula)
>> }
>> 
>> if (event & EV_READ) {
>> @@ -53,3 +62,11 @@ Index: mdnsd/control.c
>> control_close(fd);
>> return;
>> }
>> + }
>> +
>> + for (;;) {
>> +- if ((n = imsg_get(&c->iev.ibuf, &imsg)) == -1) {
>> ++ if ((n = imsgbuf_get(&c->iev.ibuf, &imsg)) == -1) {
>> + control_close(fd);
>> + return;
>> + }
>> diff --git a/net/pfresolved/patches/patch-control_c 
>> b/net/pfresolved/patches/patch-control_c
>> index 0f2fb8d24e5..167a1b20c80 100644
>> --- a/net/pfresolved/patches/patch-control_c
>> +++ b/net/pfresolved/patches/patch-control_c
>> @@ -23,7 +23,7 @@ Index: control.c
>> TAILQ_REMOVE(&ctl_conns, c, entry);
>> 
>> event_del(&c->iev.ev);
>> -@@ -247,14 +251,13 @@ control_dispatch_imsg(int fd, short event, void *arg)
>> +@@ -247,21 +251,20 @@ control_dispatch_imsg(int fd, short event, void *arg)
>> }
>> 
>> if (event & EV_READ) {
>> @@ -40,3 +40,11 @@ Index: control.c
>> control_close(fd, cs);
>> return;
>> }
>> + }
>> +
>> + for (;;) {
>> +- if ((n = imsg_get(&c->iev.ibuf, &imsg)) == -1) {
>> ++ if ((n = imsgbuf_get(&c->iev.ibuf, &imsg)) == -1) {
>> + control_close(fd, cs);
>> + return;
>> + }
>> diff --git a/net/pfresolved/patches/patch-pfresolvectl_pfresolvectl_c
>> b/net/pfresolved/patches/patch-pfresolvectl_pfresolvectl_c
>> index fedc9038ea2..4202c169acc 100644
>> --- a/net/pfresolved/patches/patch-pfresolvectl_pfresolvectl_c
>> +++ b/net/pfresolved/patches/patch-pfresolvectl_pfresolvectl_c
>> @@ -11,7 +11,7 @@ Index: pfresolvectl/pfresolvectl.c
>> 
>> switch (res->action) {
>> case NONE:
>> -@@ -113,14 +114,14 @@ main(int argc, char **argv)
>> +@@ -113,20 +114,20 @@ main(int argc, char **argv)
>> break;
>> }
>> 
>> @@ -31,3 +31,11 @@ Index: pfresolvectl/pfresolvectl.c
>> if (n == 0)
>> errx(1, "%s: pipe closed", __func__);
>> 
>> + while (!done) {
>> +- if ((n = imsg_get(ibuf, &imsg)) == -1)
>> +- errx(1, "%s: imsg_get error", __func__);
>> ++ if ((n = imsgbuf_get(ibuf, &imsg)) == -1)
>> ++ errx(1, "%s: imsgbuf_get error", __func__);
>> + if (n == 0)
>> + break;
>> +
>> diff --git a/net/pfresolved/patches/patch-proc_c 
>> b/net/pfresolved/patches/patch-proc_c
>> index c316b919498..a7486ff5e32 100644
>> --- a/net/pfresolved/patches/patch-proc_c
>> +++ b/net/pfresolved/patches/patch-proc_c
>> @@ -33,7 +33,17 @@ Index: proc.c
>> close(pp->pp_pipes[dst][n]);
>> pp->pp_pipes[dst][n] = -1;
>> }
>> -@@ -753,8 +758,8 @@ proc_dispatch(int fd, short event, void *arg)
>> +@@ -744,8 +749,7 @@ proc_dispatch(int fd, short event, void *arg)
>> + struct privsep *ps = p->p_ps;
>> + struct imsgbuf *ibuf;
>> + struct imsg imsg;
>> +- ssize_t n;
>> +- int verbose;
>> ++ int n, verbose;
>> + const char *title;
>> + struct privsep_fd pf;
>> +
>> +@@ -753,8 +757,8 @@ proc_dispatch(int fd, short event, void *arg)
>> ibuf = &iev->ibuf;
>> 
>> if (event & EV_READ) {
>> @@ -44,7 +54,7 @@ Index: proc.c
>> if (n == 0) {
>> /* this pipe is dead, so remove the event handler */
>> event_del(&iev->ev);
>> -@@ -764,13 +769,14 @@ proc_dispatch(int fd, short event, void *arg)
>> +@@ -764,19 +768,20 @@ proc_dispatch(int fd, short event, void *arg)
>> }
>> 
>> if (event & EV_WRITE) {
>> @@ -66,7 +76,15 @@ Index: proc.c
>> }
>> }
>> 
>> -@@ -807,7 +813,7 @@ proc_dispatch(int fd, short event, void *arg)
>> + for (;;) {
>> +- if ((n = imsg_get(ibuf, &imsg)) == -1)
>> +- fatal("%s: imsg_get", __func__);
>> ++ if ((n = imsgbuf_get(ibuf, &imsg)) == -1)
>> ++ fatal("%s: imsgbuf_get", __func__);
>> + if (n == 0)
>> + break;
>> +
>> +@@ -807,7 +812,7 @@ proc_dispatch(int fd, short event, void *arg)
>> case IMSG_CTL_PROCFD:
>> IMSG_SIZE_CHECK(&imsg, &pf);
>> memcpy(&pf, imsg.data, sizeof(pf));
>> @@ -75,7 +93,7 @@ Index: proc.c
>> pf.pf_instance);
>> break;
>> default:
>> -@@ -836,12 +842,12 @@ void
>> +@@ -836,12 +841,12 @@ void
>> imsg_event_add(struct imsgev *iev)
>> {
>> if (iev->handler == NULL) {
>> @@ -90,7 +108,7 @@ Index: proc.c
>> iev->events |= EV_WRITE;
>> 
>> event_del(&iev->ev);
>> -@@ -941,7 +947,8 @@ proc_forward_imsg(struct privsep *ps, struct imsg *ims
>> +@@ -941,7 +946,8 @@ proc_forward_imsg(struct privsep *ps, struct imsg *ims
>> enum privsep_procid id, int n)
>> {
>> return (proc_compose_imsg(ps, id, n, imsg->hdr.type,
>> @@ -100,7 +118,7 @@ Index: proc.c
>> }
>> 
>> struct imsgbuf *
>> -@@ -974,7 +981,7 @@ proc_flush_imsg(struct privsep *ps, enum privsep_proci
>> +@@ -974,7 +980,7 @@ proc_flush_imsg(struct privsep *ps, enum privsep_proci
>> if ((ibuf = proc_ibuf(ps, id, n)) == NULL)
>> return (-1);
>> do {
>> diff --git a/net/telescope/patches/patch-control_c 
>> b/net/telescope/patches/patch-control_c
>> new file mode 100644
>> index 00000000000..ac2676a1ea4
>> --- /dev/null
>> +++ b/net/telescope/patches/patch-control_c
>> @@ -0,0 +1,21 @@
>> +Index: control.c
>> +--- control.c.orig
>> ++++ control.c
>> +@@ -231,7 +231,7 @@ control_dispatch_imsg(int fd, int event, void *bula)
>> + {
>> + struct ctl_conn *c;
>> + struct imsg imsg;
>> +- ssize_t n;
>> ++ int n;
>> +
>> + if ((c = control_connbyfd(fd)) == NULL) {
>> + message("%s: fd %d: not found", __func__, fd);
>> +@@ -252,7 +252,7 @@ control_dispatch_imsg(int fd, int event, void *bula)
>> + }
>> +
>> + for (;;) {
>> +- if ((n = imsg_get(&c->iev.ibuf, &imsg)) == -1) {
>> ++ if ((n = imsgbuf_get(&c->iev.ibuf, &imsg)) == -1) {
>> + control_close(fd);
>> + return;
>> + }
>> diff --git a/net/telescope/patches/patch-net_c 
>> b/net/telescope/patches/patch-net_c
>> new file mode 100644
>> index 00000000000..31c63ca3239
>> --- /dev/null
>> +++ b/net/telescope/patches/patch-net_c
>> @@ -0,0 +1,24 @@
>> +Index: net.c
>> +--- net.c.orig
>> ++++ net.c
>> +@@ -576,8 +576,7 @@ handle_dispatch_imsg(int fd, int event, void *d)
>> + struct imsg imsg;
>> + struct req *req;
>> + struct get_req r;
>> +- ssize_t n;
>> +- int certok;
>> ++ int certok, n;
>> +
>> + if (event & EV_READ) {
>> + if (imsgbuf_read(ibuf) == -1) {
>> +@@ -593,8 +592,8 @@ handle_dispatch_imsg(int fd, int event, void *d)
>> + }
>> +
>> + for (;;) {
>> +- if ((n = imsg_get(ibuf, &imsg)) == -1)
>> +- err(1, "imsg_get");
>> ++ if ((n = imsgbuf_get(ibuf, &imsg)) == -1)
>> ++ err(1, "imsgbuf_get");
>> + if (n == 0)
>> + break;
>> + switch (imsg_get_type(&imsg)) {
>> diff --git a/net/telescope/patches/patch-telescope_c 
>> b/net/telescope/patches/patch-telescope_c
>> new file mode 100644
>> index 00000000000..84cda796a29
>> --- /dev/null
>> +++ b/net/telescope/patches/patch-telescope_c
>> @@ -0,0 +1,24 @@
>> +Index: telescope.c
>> +--- telescope.c.orig
>> ++++ telescope.c
>> +@@ -453,8 +453,7 @@ handle_dispatch_imsg(int fd, int event, void *data)
>> + struct download *d;
>> + const char *h;
>> + char *str, *page;
>> +- ssize_t n;
>> +- int code;
>> ++ int code, n;
>> +
>> + if (event & EV_READ) {
>> + if (imsgbuf_read(imsgbuf) == -1)
>> +@@ -466,8 +465,8 @@ handle_dispatch_imsg(int fd, int event, void *data)
>> + }
>> +
>> + for (;;) {
>> +- if ((n = imsg_get(imsgbuf, &imsg)) == -1)
>> +- err(1, "imsg_get");
>> ++ if ((n = imsgbuf_get(imsgbuf, &imsg)) == -1)
>> ++ err(1, "imsgbuf_get");
>> + if (n == 0)
>> + break;
>> +
>> diff --git a/net/thingsd/patches/patch-thingsctl_thingsctl_c
>> b/net/thingsd/patches/patch-thingsctl_thingsctl_c
>> index c16f1c8cc44..ce1845194e9 100644
>> --- a/net/thingsd/patches/patch-thingsctl_thingsctl_c
>> +++ b/net/thingsd/patches/patch-thingsctl_thingsctl_c
>> @@ -27,6 +27,17 @@ Index: thingsctl/thingsctl.c
>> errx(1, "imsg_read error");
>> if (n == 0) {
>> if (res->action == SHOW_PACKETS)
>> +@@ -202,8 +202,8 @@ main(int argc, char *argv[])
>> + }
>> +
>> + while (!done) {
>> +- if ((n = imsg_get(ibuf, &imsg)) == -1)
>> +- errx(1, "imsg_get error");
>> ++ if ((n = imsgbuf_get(ibuf, &imsg)) == -1)
>> ++ errx(1, "imsgbuf_get error");
>> + if (n == 0)
>> + break;
>> +
>> @@ -226,7 +226,7 @@ main(int argc, char *argv[])
>> done = 1;
>> break;
>> diff --git a/net/thingsd/patches/patch-thingsd_control_c
>> b/net/thingsd/patches/patch-thingsd_control_c
>> index 5b646fa1b76..f8d47201058 100644
>> --- a/net/thingsd/patches/patch-thingsd_control_c
>> +++ b/net/thingsd/patches/patch-thingsd_control_c
>> @@ -24,7 +24,7 @@ Index: thingsd/control.c
>> TAILQ_REMOVE(&ctl_conns, c, entry);
>> 
>> event_del(&c->iev.ev);
>> -@@ -397,15 +402,15 @@ control_dispatch_imsg(int fd, short event, void *arg)
>> +@@ -397,22 +402,22 @@ control_dispatch_imsg(int fd, short event, void *arg)
>> }
>> 
>> if (event & EV_READ) {
>> @@ -43,6 +43,14 @@ Index: thingsd/control.c
>> control_close(ps, &imsg, fd, cs);
>> return;
>> }
>> + }
>> +
>> + for (;;) {
>> +- n = imsg_get(&c->iev.ibuf, &imsg);
>> ++ n = imsgbuf_get(&c->iev.ibuf, &imsg);
>> + if (n == -1) {
>> + control_close(ps, &imsg, fd, cs);
>> + return;
>> @@ -505,7 +510,7 @@ control_dispatch_imsg(int fd, short event, void *arg)
>> fail:
>> imsg_compose_event(&c->iev, IMSG_CTL_FAIL,
>> diff --git a/net/thingsd/patches/patch-thingsd_proc_c 
>> b/net/thingsd/patches/patch-thingsd_proc_c
>> index b3a529d04df..2cd903c74ec 100644
>> --- a/net/thingsd/patches/patch-thingsd_proc_c
>> +++ b/net/thingsd/patches/patch-thingsd_proc_c
>> @@ -33,7 +33,17 @@ Index: thingsd/proc.c
>> close(pp->pp_pipes[dst][n]);
>> pp->pp_pipes[dst][n] = -1;
>> }
>> -@@ -625,7 +630,7 @@ proc_dispatch(int fd, short event, void *arg)
>> +@@ -616,8 +621,7 @@ proc_dispatch(int fd, short event, void *arg)
>> + struct privsep *ps = p->p_ps;
>> + struct imsgbuf *ibuf;
>> + struct imsg imsg;
>> +- ssize_t n;
>> +- int verbose;
>> ++ int n, verbose;
>> + const char *title;
>> + struct privsep_fd pf;
>> +
>> +@@ -625,7 +629,7 @@ proc_dispatch(int fd, short event, void *arg)
>> ibuf = &iev->ibuf;
>> 
>> if (event & EV_READ) {
>> @@ -42,7 +52,7 @@ Index: thingsd/proc.c
>> fatal("%s: imsg_read", __func__);
>> if (n == 0) {
>> /* this pipe is dead, so remove the event handler */
>> -@@ -636,13 +641,14 @@ proc_dispatch(int fd, short event, void *arg)
>> +@@ -636,19 +640,20 @@ proc_dispatch(int fd, short event, void *arg)
>> }
>> 
>> if (event & EV_WRITE) {
>> @@ -63,7 +73,15 @@ Index: thingsd/proc.c
>> }
>> }
>> 
>> -@@ -679,7 +685,7 @@ proc_dispatch(int fd, short event, void *arg)
>> + for (;;) {
>> +- if ((n = imsg_get(ibuf, &imsg)) == -1)
>> +- fatal("%s: imsg_get", __func__);
>> ++ if ((n = imsgbuf_get(ibuf, &imsg)) == -1)
>> ++ fatal("%s: imsgbuf_get", __func__);
>> + if (n == 0)
>> + break;
>> +
>> +@@ -679,7 +684,7 @@ proc_dispatch(int fd, short event, void *arg)
>> case IMSG_CTL_PROCFD:
>> IMSG_SIZE_CHECK(&imsg, &pf);
>> memcpy(&pf, imsg.data, sizeof(pf));
>> @@ -72,7 +90,7 @@ Index: thingsd/proc.c
>> pf.pf_instance);
>> break;
>> default:
>> -@@ -712,12 +718,12 @@ void
>> +@@ -712,12 +717,12 @@ void
>> imsg_event_add(struct imsgev *iev)
>> {
>> if (iev->handler == NULL) {
>> @@ -87,7 +105,7 @@ Index: thingsd/proc.c
>> iev->events |= EV_WRITE;
>> 
>> event_del(&iev->ev);
>> -@@ -814,7 +820,8 @@ proc_forward_imsg(struct privsep *ps, struct imsg *ims
>> +@@ -814,7 +819,8 @@ proc_forward_imsg(struct privsep *ps, struct imsg *ims
>> enum privsep_procid id, int n)
>> {
>> return (proc_compose_imsg(ps, id, n, imsg->hdr.type,
>> @@ -97,7 +115,7 @@ Index: thingsd/proc.c
>> }
>> 
>> struct imsgbuf *
>> -@@ -847,7 +854,7 @@ proc_flush_imsg(struct privsep *ps, enum privsep_proci
>> +@@ -847,7 +853,7 @@ proc_flush_imsg(struct privsep *ps, enum privsep_proci
>> if ((ibuf = proc_ibuf(ps, id, n)) == NULL)
>> return (-1);
>> do {
> 
> --
> :wq Claudio

Reply via email to