From 4f2cbaf3cd5900b06d3b5ad97db1962ec4fa0ffd Mon Sep 17 00:00:00 2001 From: Robert Watson Date: Fri, 1 Jan 2021 13:04:46 +0000 Subject: [PATCH] Track pipe(2) reads and writes as rusage message receives and sends, a feature misplaced during the transition from BSD 4.4's socket implementation to the optimised FreeBSD pipe implementation. MFC after: 1 week Reviewed by: arichardson, imp Differential Revision: https://reviews.freebsd.org/D27878 --- sys/kern/sys_pipe.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c index 76ab7bab05f..55833779495 100644 --- a/sys/kern/sys_pipe.c +++ b/sys/kern/sys_pipe.c @@ -857,6 +857,8 @@ unlocked_error: pipeselwakeup(rpipe); PIPE_UNLOCK(rpipe); + if (nread > 0) + td->td_ru.ru_msgrcv++; return (error); } @@ -1314,6 +1316,8 @@ pipe_write(struct file *fp, struct uio *uio, struct ucred *active_cred, pipeunlock(wpipe); PIPE_UNLOCK(rpipe); + if (uio->uio_resid != orig_resid) + td->td_ru.ru_msgsnd++; return (error); }