about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugene Yudin <e.yudin@ndmsystems.com>2022-08-01 13:53:22 -0400
committerRich Felker <dalias@aerifal.cx>2022-08-01 13:53:22 -0400
commitbaaf257f05b96816c24951e7b6721d72922949e5 (patch)
tree8f42f7af09a3c6f40176940bccbfe6d6579d1b81
parent4f48da008d1fb3ccab2ad76523c104aa3fa8d8b6 (diff)
downloadmusl-baaf257f05b96816c24951e7b6721d72922949e5.tar.gz
musl-baaf257f05b96816c24951e7b6721d72922949e5.tar.xz
musl-baaf257f05b96816c24951e7b6721d72922949e5.zip
fix ESRCH error handling for clock_getcpuclockid
the syscall used to probe availability of the clock fails with EINVAL
when the requested pid does not exist, but clock_getcpuclockid is
specified to use ESRCH for this purpose.
-rw-r--r--src/time/clock_getcpuclockid.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/time/clock_getcpuclockid.c b/src/time/clock_getcpuclockid.c
index 8a0e2d4c..bce1e8ab 100644
--- a/src/time/clock_getcpuclockid.c
+++ b/src/time/clock_getcpuclockid.c
@@ -8,6 +8,7 @@ int clock_getcpuclockid(pid_t pid, clockid_t *clk)
 	struct timespec ts;
 	clockid_t id = (-pid-1)*8U + 2;
 	int ret = __syscall(SYS_clock_getres, id, &ts);
+	if (ret == -EINVAL) ret = -ESRCH;
 	if (ret) return -ret;
 	*clk = id;
 	return 0;