[1/5] support: Add xclock_gettime
Commit Message
* support/xclock_gettime.c (xclock_gettime): New file. Provide
clock_gettime wrapper for use in tests that fails the test rather
than returning failure.
* support/xtime.h: New file to declare xclock_gettime.
* support/Makefile: Add xclock_gettime.c.
* support/README: Mention xtime.h.
---
ChangeLog | 12 ++++++++++++
support/Makefile | 1 +
support/README | 1 +
support/xclock_gettime.c | 31 +++++++++++++++++++++++++++++++
support/xtime.h | 33 +++++++++++++++++++++++++++++++++
5 files changed, 78 insertions(+)
create mode 100644 support/xclock_gettime.c
create mode 100644 support/xtime.h
Comments
* Mike Crowe:
> * support/xclock_gettime.c (xclock_gettime): New file. Provide
> clock_gettime wrapper for use in tests that fails the test rather
> than returning failure.
>
> * support/xtime.h: New file to declare xclock_gettime.
>
> * support/Makefile: Add xclock_gettime.c.
>
> * support/README: Mention xtime.h.
Patch looks good, but the commit message above looks a bit odd (I mean
the indentation).
Do you have an account on sourceware? If yes, please push this
independently of the rest.
Thanks,
Florian
On Wednesday 08 May 2019 at 15:46:48 +0200, Florian Weimer wrote:
> * Mike Crowe:
> > * support/xclock_gettime.c (xclock_gettime): New file. Provide
> > clock_gettime wrapper for use in tests that fails the test rather
> > than returning failure.
> >
> > * support/xtime.h: New file to declare xclock_gettime.
> >
> > * support/Makefile: Add xclock_gettime.c.
> >
> > * support/README: Mention xtime.h.
>
> Patch looks good, but the commit message above looks a bit odd (I mean
> the indentation).
I just copied and pasted from the ChangeLog entry, so each line starts with
a tab. This seems to be quite common looking through the existing history
(e.g. 52faba65f84ee5a8d82ff813bcfa0ee5f4d480cf) but I can reformat it to
remove the tab if required. I could also add some explanatory text before
the ChangeLog entry if you think that would be better.
> Do you have an account on sourceware? If yes, please push this
> independently of the rest.
No, I do not.
Thanks.
Mike.
* Mike Crowe:
> On Wednesday 08 May 2019 at 15:46:48 +0200, Florian Weimer wrote:
>> * Mike Crowe:
>> > * support/xclock_gettime.c (xclock_gettime): New file. Provide
>> > clock_gettime wrapper for use in tests that fails the test rather
>> > than returning failure.
>> >
>> > * support/xtime.h: New file to declare xclock_gettime.
>> >
>> > * support/Makefile: Add xclock_gettime.c.
>> >
>> > * support/README: Mention xtime.h.
>>
>> Patch looks good, but the commit message above looks a bit odd (I mean
>> the indentation).
>
> I just copied and pasted from the ChangeLog entry, so each line starts with
> a tab. This seems to be quite common looking through the existing history
> (e.g. 52faba65f84ee5a8d82ff813bcfa0ee5f4d480cf) but I can reformat it to
> remove the tab if required. I could also add some explanatory text before
> the ChangeLog entry if you think that would be better.
Something ate the first tab character, on the initial line. I've fixed
it. (I don't think it's Zimbra's fault, it's missing in the web
archives as well.)
>> Do you have an account on sourceware? If yes, please push this
>> independently of the rest.
>
> No, I do not.
Okay, I've pushed it for you.
Thanks,
Florian
On 08/05/2019 10:46, Florian Weimer wrote:
> * Mike Crowe:
>
>> * support/xclock_gettime.c (xclock_gettime): New file. Provide
>> clock_gettime wrapper for use in tests that fails the test rather
>> than returning failure.
>>
>> * support/xtime.h: New file to declare xclock_gettime.
>>
>> * support/Makefile: Add xclock_gettime.c.
>>
>> * support/README: Mention xtime.h.
>
> Patch looks good, but the commit message above looks a bit odd (I mean
> the indentation).
>
> Do you have an account on sourceware? If yes, please push this
> independently of the rest.
>
I can push it for him, I was planning to following up these patches.
On Wednesday 08 May 2019 at 17:00:36 +0200, Florian Weimer wrote:
> * Mike Crowe:
>
> > On Wednesday 08 May 2019 at 15:46:48 +0200, Florian Weimer wrote:
> >> * Mike Crowe:
> >> > * support/xclock_gettime.c (xclock_gettime): New file. Provide
> >> > clock_gettime wrapper for use in tests that fails the test rather
> >> > than returning failure.
> >> >
> >> > * support/xtime.h: New file to declare xclock_gettime.
> >> >
> >> > * support/Makefile: Add xclock_gettime.c.
> >> >
> >> > * support/README: Mention xtime.h.
> >>
> >> Patch looks good, but the commit message above looks a bit odd (I mean
> >> the indentation).
> >
> > I just copied and pasted from the ChangeLog entry, so each line starts with
> > a tab. This seems to be quite common looking through the existing history
> > (e.g. 52faba65f84ee5a8d82ff813bcfa0ee5f4d480cf) but I can reformat it to
> > remove the tab if required. I could also add some explanatory text before
> > the ChangeLog entry if you think that would be better.
>
> Something ate the first tab character, on the initial line. I've fixed
> it. (I don't think it's Zimbra's fault, it's missing in the web
> archives as well.)
You're right. The initial tab is in the file that git series format
generated, but either git send-email or my MTA ate it. :( I shall remove
the tabs in future to avoid that problem.
> >> Do you have an account on sourceware? If yes, please push this
> >> independently of the rest.
> >
> > No, I do not.
>
> Okay, I've pushed it for you.
Thanks!
Mike.
@@ -1,3 +1,15 @@
+2019-05-02 Mike Crowe <mac@mcrowe.com>
+
+ * support/xclock_gettime.c (xclock_gettime): New file. Provide
+ clock_gettime wrapper for use in tests that fails the test rather
+ than returning failure.
+
+ * support/xtime.h: New file to declare xclock_gettime.
+
+ * support/Makefile: Add xclock_gettime.c.
+
+ * support/README: Mention xtime.h.
+
2019-05-02 Adhemerval Zanella <adhemerval.zanella@linaro.org>
[BZ #24506]
@@ -78,6 +78,7 @@ libsupport-routines = \
xbind \
xcalloc \
xchroot \
+ xclock_gettime \
xclose \
xconnect \
xcopy_file_range \
@@ -10,6 +10,7 @@ error. They are declared in these header files:
* support.h
* xsignal.h
* xthread.h
+* xtime.h
In general, new wrappers should be added to support.h if possible.
However, support.h must remain fully compatible with C90 and therefore
new file mode 100644
@@ -0,0 +1,31 @@
+/* clock_gettime with error checking.
+ Copyright (C) 2019 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <support/check.h>
+#include <support/xtime.h>
+#include <support/xthread.h>
+
+void
+xclock_gettime (clockid_t clockid,
+ struct timespec *ts)
+{
+ const int ret = clock_gettime (clockid, ts);
+ if (ret < 0)
+ FAIL_EXIT1 ("clock_gettime (%d): %m",
+ clockid);
+}
new file mode 100644
@@ -0,0 +1,33 @@
+/* Support functionality for using time.
+ Copyright (C) 2019 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef SUPPORT_TIME_H
+#define SUPPORT_TIME_H
+
+#include <time.h>
+
+__BEGIN_DECLS
+
+/* The following functions call the corresponding libc functions and
+ terminate the process on error. */
+
+void xclock_gettime (clockid_t clock, struct timespec *ts);
+
+__END_DECLS
+
+#endif /* SUPPORT_TIME_H */