From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 4406 invoked from network); 20 Jun 2023 00:26:06 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 20 Jun 2023 00:26:06 -0000 Received: (qmail 7332 invoked by uid 550); 20 Jun 2023 00:25:42 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 6124 invoked from network); 20 Jun 2023 00:25:41 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687220729; x=1689812729; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jwUXFXGHL3ybS0lzjDFr+b24jlf6Xlho2GfVORhHwNE=; b=R40SUIHoIFJ1W80yrfKONCdi4XCZcpmUSyAwZdM6vS9qL0IXbYM3yUQ+hKOlE/pwag +z60IJSOHRemHCavP0bb/+1U+UCl7sgNmQfmPsPMxgu+ioRCJR5lFbsukPdO6OUo5Nyf P+G25LF/EcCyzLVdRAdBmQMDcgwMzo4ahPNodFqB/QFr2W3b9OY26jWtJeNfINqTvZZc 0yOdwpco15LA7IRmjQQZ6+tI+cjoXDSATLOODljZg8LIdYM6re2G+EZDXUptUVUTIX85 ApCz8E5PsSECFeU7Nex8FghXV6fxCe8nOZAbWCLTZ7APioiU5IDhka8Zvbse5thKs1uZ iIHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687220729; x=1689812729; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jwUXFXGHL3ybS0lzjDFr+b24jlf6Xlho2GfVORhHwNE=; b=h3aj9yPOtMMe8+qiIxBIIxoU9JWo+wexIEX7wHqB5DEGNo6DNkunhVLOJWsO9gj3Hv uXpwA2emIwlAQPSukdAxJwWHOczX7/gWyGiV/YF3L+N+r5yQgxmxbqwttsttrwSPWT6s WXrrUPtN73di6HaivJ9dtIwDxuSUI9AqmmTa3S2QBvKgWjfd9t4Dgqa1peW6WCljbwgR 1ulJkNemNxUlIufHBxWaCL4aDx8b6GpSeb6ChA2hD9yShwCciRuIOtks8oArYvRCT/DW OwjLeDH58HAtOlNQcseFqKKb9e6V3SkChLxsR9zU7WrzRg69fYi4M0cVNzTq04zNUqka gXqg== X-Gm-Message-State: AC+VfDykD+3ebaHPERb5whC/tnTrjg5PFwZsXy53ihn1eT51iQbSfe76 njtdp1Yi2KoPKmmHAWr8HuQ= X-Google-Smtp-Source: ACHHUZ6o+3gT/5iCU4g3ytCYGVRQ6RG4B/tjwU2DmhKrYjXxGd6v8b5OBOx0PCAq0FdYfo+ec4VX2w== X-Received: by 2002:a05:6358:f56:b0:12b:c379:bd71 with SMTP id c22-20020a0563580f5600b0012bc379bd71mr2808140rwj.27.1687220729071; Mon, 19 Jun 2023 17:25:29 -0700 (PDT) From: Yonggang Luo To: Jens Gustedt , musl@lists.openwall.com Cc: Yonggang Luo Date: Tue, 20 Jun 2023 08:25:06 +0800 Message-Id: <20230620002507.796-4-luoyonggang@gmail.com> X-Mailer: git-send-email 2.39.0.windows.1 In-Reply-To: <20230620002507.796-1-luoyonggang@gmail.com> References: <20230620002507.796-1-luoyonggang@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [musl] [PATCH 3/4] c23: Implement newly base for timespec_get These are: #define TIME_MONOTONIC 2 #define TIME_PROCESS_CPUTIME_ID 3 #define TIME_THREAD_CPUTIME_ID 4 #define TIME_MONOTONIC_RAW 5 #define TIME_REALTIME_COARSE 6 #define TIME_MONOTONIC_COARSE 7 #define TIME_BOOTTIME 8 #define TIME_REALTIME_ALARM 9 #define TIME_BOOTTIME_ALARM 10 #define TIME_SGI_CYCLE 11 #define TIME_TAI 12 Signed-off-by: Yonggang Luo --- include/time.h | 13 +++++++++++- src/time/timespec_get.c | 44 +++++++++++++++++++++++++++++++++++++++-- 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/include/time.h b/include/time.h index 3d948372..de6d9f38 100644 --- a/include/time.h +++ b/include/time.h @@ -64,7 +64,18 @@ int timespec_get(struct timespec *, int); #define CLOCKS_PER_SEC 1000000L -#define TIME_UTC 1 +#define TIME_UTC 1 +#define TIME_MONOTONIC 2 +#define TIME_PROCESS_CPUTIME_ID 3 +#define TIME_THREAD_CPUTIME_ID 4 +#define TIME_MONOTONIC_RAW 5 +#define TIME_REALTIME_COARSE 6 +#define TIME_MONOTONIC_COARSE 7 +#define TIME_BOOTTIME 8 +#define TIME_REALTIME_ALARM 9 +#define TIME_BOOTTIME_ALARM 10 +#define TIME_SGI_CYCLE 11 +#define TIME_TAI 12 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ diff --git a/src/time/timespec_get.c b/src/time/timespec_get.c index 40ea9c1c..bfc753ee 100644 --- a/src/time/timespec_get.c +++ b/src/time/timespec_get.c @@ -4,7 +4,47 @@ * are considered erroneous. */ int timespec_get(struct timespec * ts, int base) { - if (base != TIME_UTC) return 0; - int ret = __clock_gettime(CLOCK_REALTIME, ts); + clockid_t clockid = -1; + switch (base) { + default: + return 0; + case TIME_UTC: + clockid = CLOCK_REALTIME; + break; + case TIME_MONOTONIC: + clockid = CLOCK_MONOTONIC; + break; + case TIME_PROCESS_CPUTIME_ID: + clockid = CLOCK_PROCESS_CPUTIME_ID; + break; + case TIME_THREAD_CPUTIME_ID: + clockid = CLOCK_THREAD_CPUTIME_ID; + break; + case TIME_MONOTONIC_RAW: + clockid = CLOCK_MONOTONIC_RAW; + break; + case TIME_REALTIME_COARSE: + clockid = CLOCK_REALTIME_COARSE; + break; + case TIME_MONOTONIC_COARSE: + clockid = CLOCK_MONOTONIC_COARSE; + break; + case TIME_BOOTTIME: + clockid = CLOCK_BOOTTIME; + break; + case TIME_REALTIME_ALARM: + clockid = CLOCK_REALTIME_ALARM; + break; + case TIME_BOOTTIME_ALARM: + clockid = CLOCK_BOOTTIME_ALARM; + break; + case TIME_SGI_CYCLE: + clockid = CLOCK_SGI_CYCLE; + break; + case TIME_TAI: + clockid = CLOCK_TAI; + break; + } + int ret = __clock_gettime(clockid, ts); return ret < 0 ? 0 : base; } -- 2.39.0.windows.1