summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2024-11-21 13:00:15 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2024-11-21 13:00:15 +0000
commit92aa854f4a35cf68a96d277f3f6960458206605a (patch)
tree413134e0e371348f72c57d865859a4f14c2586c5
parent2c9dbe42bd566f22f837b6032648f3ad10421494 (diff)
Remove fd from struct msgbuf, instead pass the fd to imsg_write and
msgbuf_write OK tb@
-rw-r--r--lib/libutil/imsg-buffer.c11
-rw-r--r--lib/libutil/imsg.c5
-rw-r--r--lib/libutil/imsg.h7
3 files changed, 10 insertions, 13 deletions
diff --git a/lib/libutil/imsg-buffer.c b/lib/libutil/imsg-buffer.c
index c39e3ac07c8..b6db734d587 100644
--- a/lib/libutil/imsg-buffer.c
+++ b/lib/libutil/imsg-buffer.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: imsg-buffer.c,v 1.25 2024/11/21 12:59:33 claudio Exp $ */
+/* $OpenBSD: imsg-buffer.c,v 1.26 2024/11/21 13:00:14 claudio Exp $ */
/*
* Copyright (c) 2023 Claudio Jeker <claudio@openbsd.org>
@@ -550,7 +550,6 @@ void
msgbuf_init(struct msgbuf *msgbuf)
{
msgbuf->queued = 0;
- msgbuf->fd = -1;
TAILQ_INIT(&msgbuf->bufs);
}
@@ -570,7 +569,7 @@ msgbuf_clear(struct msgbuf *msgbuf)
}
int
-ibuf_write(struct msgbuf *msgbuf)
+ibuf_write(int fd, struct msgbuf *msgbuf)
{
struct iovec iov[IOV_MAX];
struct ibuf *buf;
@@ -589,7 +588,7 @@ ibuf_write(struct msgbuf *msgbuf)
return (0); /* nothing queued */
again:
- if ((n = writev(msgbuf->fd, iov, i)) == -1) {
+ if ((n = writev(fd, iov, i)) == -1) {
if (errno == EINTR)
goto again;
if (errno == EAGAIN || errno == ENOBUFS)
@@ -603,7 +602,7 @@ again:
}
int
-msgbuf_write(struct msgbuf *msgbuf)
+msgbuf_write(int fd, struct msgbuf *msgbuf)
{
struct iovec iov[IOV_MAX];
struct ibuf *buf, *buf0 = NULL;
@@ -648,7 +647,7 @@ msgbuf_write(struct msgbuf *msgbuf)
}
again:
- if ((n = sendmsg(msgbuf->fd, &msg, 0)) == -1) {
+ if ((n = sendmsg(fd, &msg, 0)) == -1) {
if (errno == EINTR)
goto again;
if (errno == EAGAIN || errno == ENOBUFS)
diff --git a/lib/libutil/imsg.c b/lib/libutil/imsg.c
index 063d4843a56..a1991eecc83 100644
--- a/lib/libutil/imsg.c
+++ b/lib/libutil/imsg.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: imsg.c,v 1.33 2024/11/21 12:58:46 claudio Exp $ */
+/* $OpenBSD: imsg.c,v 1.34 2024/11/21 13:00:14 claudio Exp $ */
/*
* Copyright (c) 2023 Claudio Jeker <claudio@openbsd.org>
@@ -42,7 +42,6 @@ imsgbuf_init(struct imsgbuf *imsgbuf, int fd)
msgbuf_init(&imsgbuf->w);
memset(&imsgbuf->r, 0, sizeof(imsgbuf->r));
imsgbuf->fd = fd;
- imsgbuf->w.fd = fd;
imsgbuf->pid = getpid();
TAILQ_INIT(&imsgbuf->fds);
}
@@ -138,7 +137,7 @@ fail:
int
imsgbuf_write(struct imsgbuf *imsgbuf)
{
- return msgbuf_write(&imsgbuf->w);
+ return msgbuf_write(imsgbuf->fd, &imsgbuf->w);
}
int
diff --git a/lib/libutil/imsg.h b/lib/libutil/imsg.h
index ba8d3cc7d0a..e38689b7add 100644
--- a/lib/libutil/imsg.h
+++ b/lib/libutil/imsg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: imsg.h,v 1.15 2024/11/21 12:58:46 claudio Exp $ */
+/* $OpenBSD: imsg.h,v 1.16 2024/11/21 13:00:14 claudio Exp $ */
/*
* Copyright (c) 2023 Claudio Jeker <claudio@openbsd.org>
@@ -41,7 +41,6 @@ struct ibuf {
struct msgbuf {
TAILQ_HEAD(, ibuf) bufs;
uint32_t queued;
- int fd;
};
struct ibuf_read {
@@ -123,11 +122,11 @@ void ibuf_free(struct ibuf *);
int ibuf_fd_avail(struct ibuf *);
int ibuf_fd_get(struct ibuf *);
void ibuf_fd_set(struct ibuf *, int);
-int ibuf_write(struct msgbuf *);
void msgbuf_init(struct msgbuf *);
void msgbuf_clear(struct msgbuf *);
uint32_t msgbuf_queuelen(struct msgbuf *);
-int msgbuf_write(struct msgbuf *);
+int ibuf_write(int, struct msgbuf *);
+int msgbuf_write(int, struct msgbuf *);
/* imsg.c */
void imsgbuf_init(struct imsgbuf *, int);