commit 7ab7287f2568cf0384497707d95581957ec29e56 from: claudio date: Thu Nov 21 13:16:06 2024 UTC Convert imsg_write() callers to the new simplified return logic. OK tb@ commit - e7965818e16df6d5a47fdfeb7753c447c80677a9 commit + 7ab7287f2568cf0384497707d95581957ec29e56 blob - 62ee3f233848926a8339815fd7b77d6040821c55 blob + 5c4ddf7a18b062babdc0a2473f7c73053daf77cc --- control.c +++ control.c @@ -1,4 +1,4 @@ -/* $OpenBSD: control.c,v 1.16 2024/11/21 13:10:36 claudio Exp $ */ +/* $OpenBSD: control.c,v 1.17 2024/11/21 13:16:07 claudio Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -237,7 +237,7 @@ control_dispatch_imsg(int fd, short event, void *arg) } if (event & EV_WRITE) { - if (imsg_write(&c->iev.ibuf) <= 0 && errno != EAGAIN) { + if (imsg_write(&c->iev.ibuf) == -1) { control_close(fd, cs); return; } blob - 7bd184c784154ee1cdc85b0c0ded523f866e4652 blob + 49fc73e7f63830434cab260f509615c20f7d659e --- proc.c +++ proc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: proc.c,v 1.47 2024/11/21 13:10:36 claudio Exp $ */ +/* $OpenBSD: proc.c,v 1.48 2024/11/21 13:16:07 claudio Exp $ */ /* * Copyright (c) 2010 - 2016 Reyk Floeter @@ -611,13 +611,14 @@ proc_dispatch(int fd, short event, void *arg) } if (event & EV_WRITE) { - if ((n = imsg_write(ibuf)) == -1 && errno != EAGAIN) - fatal("%s: imsg_write", __func__); - if (n == 0) { - /* this pipe is dead, so remove the event handler */ - event_del(&iev->ev); - event_loopexit(NULL); - return; + if (imsg_write(ibuf) == -1) { + if (errno == EPIPE) { /* connection closed */ + /* remove the event handler */ + event_del(&iev->ev); + event_loopexit(NULL); + return; + } else + fatal("%s: imsg_write", __func__); } }