tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: The <signal.h> header shall define the timespec structure as described in <time.h>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 30.07.2015 17:48, Taylor R Campbell wrote:
> Date: Thu, 30 Jul 2015 17:33:47 +0200 From: Kamil Rytarowski
> <n54%gmx.com@localhost>
>
> I'm attaching the patch adding struct timespec to <signal.h>.
>
> Are there any objections to commit it?
>
> This kind of copy pasta should be avoided. Why not just make
> <signal.h> include <sys/time.h>?
>
As there is no general agreement for this, I'm attaching a patch with
exported struct timespec to a separate file.
Are there any objections to commit it?
It's verified to work.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJVuomuAAoJEEuzCOmwLnZslvgP/ioKC3MBffQ8BxKRb5bpsygl
Z/mAF2XUD0a1kEwBQfc6BseZkH9+DvhmhIzPIiOjECXGwjZN+HZBbQLfl5y8z6Pv
9izKQ4F0hjD7qt9i+aAGk1o7IFLc6TBF0BS0jCknBWJfl5hii6L/gE4R9ZnaGkQS
RFLtVLaHGhpf1ohx5c6Aqks6abGNGQfhmg/8WMvMPa9oQNrUrK0BkadykB69Uv4P
XJOwQX/WcH3E4Wm82PefrR6EUxJmpl3SzyFY+2p208S2AqwJE4wH0LKcJhXyN7O5
4Uz8iXVhs6p882wdpXmyHEHkh99kj0oEl+1lOqxBL1POaxUAinoQamv5BD705RJX
Q/mpNpDsVAd8P5UKWJaJCe0vy+/O/bEV5WIW3sBSYcB0F8nkpwn6NXAAjVgody5t
aAM8AZK4uocbAgWA5DUYhXOhDKFDINd2nU/eVZ/5O6fYFYvQcw/UXqnXZJRN7Pzh
6DpIG8zJ7JUnr8dj7lUHtI/Epn1VNonZndD2fW+Av3rPDPzAxa1vrQb+A4xEHgno
uw5cSP/dtaLgJAcH5Ci4a8f8Sa9O/wFLSR6tVbxHbrYRKJfGznOnESGbI4iqX/Kp
QIbspqHlEj6jm5mCpYS3ciNN48gDAe/Xa+JUtTzOxQd0+/t6/XpO8sEnie55FyxU
KJRhZcP2eT97uIxk2yH1
=WDrR
-----END PGP SIGNATURE-----
Index: distrib/sets/lists/comp/mi
===================================================================
RCS file: /public/netbsd-rsync/src/distrib/sets/lists/comp/mi,v
retrieving revision 1.1974
diff -u -r1.1974 mi
--- distrib/sets/lists/comp/mi 29 Jul 2015 00:12:27 -0000 1.1974
+++ distrib/sets/lists/comp/mi 30 Jul 2015 19:25:36 -0000
@@ -3317,6 +3317,7 @@
./usr/include/sys/timeb.h comp-c-include
./usr/include/sys/timepps.h comp-c-include
./usr/include/sys/times.h comp-c-include
+./usr/include/sys/timespec.h comp-c-include
./usr/include/sys/timex.h comp-c-include
./usr/include/sys/tls.h comp-c-include
./usr/include/sys/tprintf.h comp-obsolete obsolete
Index: include/signal.h
===================================================================
RCS file: /public/netbsd-rsync/src/include/signal.h,v
retrieving revision 1.54
diff -u -r1.54 signal.h
--- include/signal.h 27 Aug 2010 08:40:38 -0000 1.54
+++ include/signal.h 30 Jul 2015 19:23:31 -0000
@@ -183,7 +183,7 @@
void psiginfo(const siginfo_t *, const char *);
#ifndef __LIBC12_SOURCE__
-struct timespec;
+#include <sys/timespec.h>
int sigtimedwait(const sigset_t * __restrict,
siginfo_t * __restrict, const struct timespec * __restrict)
__RENAME(__sigtimedwait50);
Index: sys/sys/Makefile
===================================================================
RCS file: /public/netbsd-rsync/src/sys/sys/Makefile,v
retrieving revision 1.155
diff -u -r1.155 Makefile
--- sys/sys/Makefile 29 Jul 2015 00:10:25 -0000 1.155
+++ sys/sys/Makefile 30 Jul 2015 19:24:16 -0000
@@ -39,7 +39,7 @@
socketvar.h sockio.h spawn.h specificdata.h stat.h \
statvfs.h syscall.h syscallargs.h sysctl.h stdarg.h stdbool.h \
stdint.h swap.h syncobj.h syslimits.h syslog.h \
- tape.h termios.h time.h timeb.h timepps.h times.h \
+ tape.h termios.h time.h timeb.h timepps.h times.h timespec.h \
timex.h tls.h trace.h tree.h tty.h ttychars.h ttycom.h \
ttydefaults.h ttydev.h types.h \
ucontext.h ucred.h uio.h un.h unistd.h unpcb.h user.h utsname.h uuid.h \
Index: sys/sys/time.h
===================================================================
RCS file: /public/netbsd-rsync/src/sys/sys/time.h,v
retrieving revision 1.69
diff -u -r1.69 time.h
--- sys/sys/time.h 19 May 2015 23:35:11 -0000 1.69
+++ sys/sys/time.h 30 Jul 2015 19:23:05 -0000
@@ -46,13 +46,7 @@
suseconds_t tv_usec; /* and microseconds */
};
-/*
- * Structure defined by POSIX.1b to be like a timeval.
- */
-struct timespec {
- time_t tv_sec; /* seconds */
- long tv_nsec; /* and nanoseconds */
-};
+#include <sys/timespec.h>
#if defined(_NETBSD_SOURCE)
#define TIMEVAL_TO_TIMESPEC(tv, ts) do { \
Index: sys/sys/timespec.h
===================================================================
RCS file: sys/sys/timespec.h
diff -N sys/sys/timespec.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ sys/sys/timespec.h 30 Jul 2015 19:21:31 -0000
@@ -0,0 +1,52 @@
+/* $NetBSD$ */
+
+/*
+ * Copyright (c) 1982, 1986, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)time.h 8.5 (Berkeley) 5/4/95
+ *
+ * Extracted by Kamil Rytarowski from:
+ * NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp
+ */
+
+#ifndef _SYS_TIMESPEC_H_
+#define _SYS_TIMESPEC_H_
+
+#include <sys/ansi.h>
+
+#ifdef _BSD_TIME_T_
+typedef _BSD_TIME_T_ time_t;
+#undef _BSD_TIME_T_
+#endif
+
+struct timespec {
+ time_t tv_sec; /* seconds */
+ long tv_nsec; /* and nanoseconds */
+};
+
+#endif /* !_SYS_TIMESPEC_H_ */
Home |
Main Index |
Thread Index |
Old Index