From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id E0C0B3857B8B; Fri, 16 Feb 2024 19:44:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E0C0B3857B8B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1708112688; bh=H2ASzKKAYT+VFuFXL8xTGgN7o12ZXGiEbt0jbAwPBlY=; h=From:To:Subject:Date:From; b=cj9r8muS8wsBLtdmTF2/crNYZm0yWden9FqYiXqqbiLbAaQkHL62L9efFHAZv54XN bdWRKSi78S6CWAbazuoEzeRMvpAcyddQWjZoSCmBVnsyFr0EMT0ZtiM7p+Tx9dPrMo 2FVq5uFw8t9YAzJtJ6CV3bsUABVB9tePDB9tD3vY= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin/main] Cygwin: timespec_get: implement C11 function X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/main X-Git-Oldrev: f9542a2e8e7532626298f02015337fdeb4e7bac0 X-Git-Newrev: a7bf7c7dd524ab724913da0019f8b4a5425b5927 Message-Id: <20240216194448.E0C0B3857B8B@sourceware.org> Date: Fri, 16 Feb 2024 19:44:48 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Da7bf7c7dd52= 4ab724913da0019f8b4a5425b5927 commit a7bf7c7dd524ab724913da0019f8b4a5425b5927 Author: Corinna Vinschen AuthorDate: Fri Feb 16 20:44:31 2024 +0100 Commit: Corinna Vinschen CommitDate: Fri Feb 16 20:44:31 2024 +0100 Cygwin: timespec_get: implement C11 function =20 Signed-off-by: Corinna Vinschen Diff: --- winsup/cygwin/cygwin.din | 1 + winsup/cygwin/include/cygwin/time.h | 6 ++++++ winsup/cygwin/release/3.6.0 | 2 ++ winsup/cygwin/times.cc | 9 +++++++++ 4 files changed, 18 insertions(+) diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din index be9efdc00f44..37ec00896232 100644 --- a/winsup/cygwin/cygwin.din +++ b/winsup/cygwin/cygwin.din @@ -1559,6 +1559,7 @@ timerfd_create SIGFE timerfd_gettime SIGFE timerfd_settime SIGFE times SIGFE +timespec_get SIGFE timezone SIGFE timingsafe_bcmp NOSIGFE timingsafe_memcmp NOSIGFE diff --git a/winsup/cygwin/include/cygwin/time.h b/winsup/cygwin/include/cy= gwin/time.h index d7f9d3f75b15..9b63e9aeb6ce 100644 --- a/winsup/cygwin/include/cygwin/time.h +++ b/winsup/cygwin/include/cygwin/time.h @@ -35,6 +35,12 @@ extern long timezone __asm__ (_SYMSTR (_timezone)); =20 #endif /* __SVID_VISIBLE || __XSI_VISIBLE */ =20 +#if __ISO_C_VISIBLE >=3D 2011 +#define TIME_UTC 1 + +extern int timespec_get (struct timespec *, int); +#endif + #ifdef __cplusplus } #endif diff --git a/winsup/cygwin/release/3.6.0 b/winsup/cygwin/release/3.6.0 index 561637c397e6..e190aa2927d6 100644 --- a/winsup/cygwin/release/3.6.0 +++ b/winsup/cygwin/release/3.6.0 @@ -7,6 +7,8 @@ What's new: =20 - New API call: setproctitle. =20 +- New API call: timespec_get. + =20 What changed: ------------- diff --git a/winsup/cygwin/times.cc b/winsup/cygwin/times.cc index ddea061b8920..87773934bfd7 100644 --- a/winsup/cygwin/times.cc +++ b/winsup/cygwin/times.cc @@ -559,3 +559,12 @@ clock_getcpuclockid (pid_t pid, clockid_t *clk_id) *clk_id =3D (clockid_t) PID_TO_CLOCKID (pid); return 0; } + +extern "C" int +timespec_get (struct timespec *ts, int base) +{ + if (base !=3D TIME_UTC) + return 0; + clock_gettime (CLOCK_REALTIME, ts); + return base; +}