mailing list of musl libc
 help / color / mirror / code / Atom feed
* [musl][PATCH] make clock_getcpuclockid return ESRCH rather than EINVAL
@ 2022-06-14 10:15 Eugene Yudin
  2022-08-01 17:55 ` Rich Felker
  0 siblings, 1 reply; 2+ messages in thread
From: Eugene Yudin @ 2022-06-14 10:15 UTC (permalink / raw)
  To: musl

[-- Attachment #1: Type: text/plain, Size: 769 bytes --]

Hi,

According to man clock_getcpuclockid() should return ESRCH if there is no
process with the ID pid.

diff --git a/src/time/clock_getcpuclockid.c b/src/time/clock_getcpuclockid.c
--- 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

The same behaviour is used in glibc:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/clock_getcpuclockid.c;h=5534127ed703a3931f22af48da02e2b8f2dc39a5;hb=HEAD#l49

-- 
Best regards,
Eugene

[-- Attachment #2: Type: text/html, Size: 1219 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [musl][PATCH] make clock_getcpuclockid return ESRCH rather than EINVAL
  2022-06-14 10:15 [musl][PATCH] make clock_getcpuclockid return ESRCH rather than EINVAL Eugene Yudin
@ 2022-08-01 17:55 ` Rich Felker
  0 siblings, 0 replies; 2+ messages in thread
From: Rich Felker @ 2022-08-01 17:55 UTC (permalink / raw)
  To: Eugene Yudin; +Cc: musl

On Tue, Jun 14, 2022 at 01:15:36PM +0300, Eugene Yudin wrote:
> Hi,
> 
> According to man clock_getcpuclockid() should return ESRCH if there is no
> process with the ID pid.
> 
> diff --git a/src/time/clock_getcpuclockid.c b/src/time/clock_getcpuclockid.c
> --- 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
> 
> The same behaviour is used in glibc:
> https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/clock_getcpuclockid.c;h=5534127ed703a3931f22af48da02e2b8f2dc39a5;hb=HEAD#l49

Thanks, applying.

Rich

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-08-01 17:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-14 10:15 [musl][PATCH] make clock_getcpuclockid return ESRCH rather than EINVAL Eugene Yudin
2022-08-01 17:55 ` Rich Felker

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).