Module Name:    src
Committed By:   christos
Date:           Fri Jun 10 23:29:20 UTC 2016

Modified Files:
        src/include: limits.h
        src/lib/libc/gen: sysconf.3 sysconf.c
        src/sys/kern: kern_time.c
        src/sys/sys: unistd.h

Log Message:
GSoC 2016: Charles Cui: Add timer related macros
    _POSIX_CPUTIME
    _POSIX_THREAD_CPUTIME
    _POSIX_DELAYTIMER_MAX


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/include/limits.h
cvs rdiff -u -r1.47 -r1.48 src/lib/libc/gen/sysconf.3
cvs rdiff -u -r1.38 -r1.39 src/lib/libc/gen/sysconf.c
cvs rdiff -u -r1.186 -r1.187 src/sys/kern/kern_time.c
cvs rdiff -u -r1.57 -r1.58 src/sys/sys/unistd.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/include/limits.h
diff -u src/include/limits.h:1.37 src/include/limits.h:1.38
--- src/include/limits.h:1.37	Fri Jun 10 19:24:33 2016
+++ src/include/limits.h	Fri Jun 10 19:29:20 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: limits.h,v 1.37 2016/06/10 23:24:33 christos Exp $	*/
+/*	$NetBSD: limits.h,v 1.38 2016/06/10 23:29:20 christos Exp $	*/
 
 /*
  * Copyright (c) 1988, 1993
@@ -94,6 +94,9 @@
 
 #define	_POSIX_TIMER_MAX	32
 #define	_POSIX_SEM_NSEMS_MAX	256
+#define	_POSIX_CPUTIME		200112L
+#define	_POSIX_THREAD_CPUTIME	200112L
+#define	_POSIX_DELAYTIMER_MAX	32
 #define	_POSIX_TTY_NAME_MAX	9
 #define	_POSIX_TZNAME_MAX	6
 

Index: src/lib/libc/gen/sysconf.3
diff -u src/lib/libc/gen/sysconf.3:1.47 src/lib/libc/gen/sysconf.3:1.48
--- src/lib/libc/gen/sysconf.3:1.47	Fri Jun 10 19:26:43 2016
+++ src/lib/libc/gen/sysconf.3	Fri Jun 10 19:29:20 2016
@@ -1,4 +1,4 @@
-.\"	$NetBSD: sysconf.3,v 1.47 2016/06/10 23:26:43 wiz Exp $
+.\"	$NetBSD: sysconf.3,v 1.48 2016/06/10 23:29:20 christos Exp $
 .\"
 .\" Copyright (c) 1993
 .\"	The Regents of the University of California.  All rights reserved.
@@ -185,6 +185,15 @@ and its
 Timers
 option to which the system attempts to conform,
 otherwise \-1.
+.It Li _SC_CPUTIME
+The clockID CLOCK_PROCESS_CPUTIME_ID is supported,
+otherwise \-1.
+.It Li _SC_THREAD_CPUTIME
+The clockID CLOCK_THREAD_CPUTIME_ID is supported,
+otherwise \-1.
+.It Li _SC_DELAYTIMER_MAX
+The maximum number of overrun for a specific timer,
+otherwise \-1.
 .It Li _SC_TZNAME_MAX
 The minimum maximum number of types supported for the name of a
 timezone.

Index: src/lib/libc/gen/sysconf.c
diff -u src/lib/libc/gen/sysconf.c:1.38 src/lib/libc/gen/sysconf.c:1.39
--- src/lib/libc/gen/sysconf.c:1.38	Fri Jun 10 19:24:33 2016
+++ src/lib/libc/gen/sysconf.c	Fri Jun 10 19:29:20 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysconf.c,v 1.38 2016/06/10 23:24:33 christos Exp $	*/
+/*	$NetBSD: sysconf.c,v 1.39 2016/06/10 23:29:20 christos Exp $	*/
 
 /*-
  * Copyright (c) 1993
@@ -37,7 +37,7 @@
 #if 0
 static char sccsid[] = "@(#)sysconf.c	8.2 (Berkeley) 3/20/94";
 #else
-__RCSID("$NetBSD: sysconf.c,v 1.38 2016/06/10 23:24:33 christos Exp $");
+__RCSID("$NetBSD: sysconf.c,v 1.39 2016/06/10 23:29:20 christos Exp $");
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -422,6 +422,12 @@ yesno:		if (sysctl(mib, mib_len, &value,
 		return _POSIX_TIMER_MAX;
 	case _SC_SEM_NSEMS_MAX:
 		return _POSIX_SEM_NSEMS_MAX;
+	case _SC_CPUTIME:
+		return _POSIX_CPUTIME;
+	case _SC_THREAD_CPUTIME:
+		return _POSIX_THREAD_CPUTIME;
+	case _SC_DELAYTIMER_MAX:
+		return _POSIX_DELAYTIMER_MAX;
 	default:
 		errno = EINVAL;
 		return (-1);

Index: src/sys/kern/kern_time.c
diff -u src/sys/kern/kern_time.c:1.186 src/sys/kern/kern_time.c:1.187
--- src/sys/kern/kern_time.c:1.186	Sat Apr 23 19:08:26 2016
+++ src/sys/kern/kern_time.c	Fri Jun 10 19:29:20 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_time.c,v 1.186 2016/04/23 23:08:26 christos Exp $	*/
+/*	$NetBSD: kern_time.c,v 1.187 2016/06/10 23:29:20 christos Exp $	*/
 
 /*-
  * Copyright (c) 2000, 2004, 2005, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_time.c,v 1.186 2016/04/23 23:08:26 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_time.c,v 1.187 2016/06/10 23:29:20 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/resourcevar.h>
@@ -97,6 +97,7 @@ CTASSERT(ITIMER_VIRTUAL == CLOCK_VIRTUAL
 CTASSERT(ITIMER_PROF == CLOCK_PROF);
 CTASSERT(ITIMER_MONOTONIC == CLOCK_MONOTONIC);
 
+#define	DELAYTIMER_MAX	32
 
 /*
  * Initialize timekeeping.
@@ -980,6 +981,8 @@ sys_timer_getoverrun(struct lwp *l, cons
 		return (EINVAL);
 	}
 	*retval = pt->pt_poverruns;
+	if (*retval >= DELAYTIMER_MAX)
+		*retval = DELAYTIMER_MAX;
 	mutex_spin_exit(&timer_lock);
 
 	return (0);

Index: src/sys/sys/unistd.h
diff -u src/sys/sys/unistd.h:1.57 src/sys/sys/unistd.h:1.58
--- src/sys/sys/unistd.h:1.57	Fri Jun 10 19:24:33 2016
+++ src/sys/sys/unistd.h	Fri Jun 10 19:29:20 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: unistd.h,v 1.57 2016/06/10 23:24:33 christos Exp $	*/
+/*	$NetBSD: unistd.h,v 1.58 2016/06/10 23:29:20 christos Exp $	*/
 
 /*
  * Copyright (c) 1989, 1993
@@ -309,6 +309,9 @@
 
 #define	_SC_TIMER_MAX			88
 #define	_SC_SEM_NSEMS_MAX		89
+#define	_SC_CPUTIME			90
+#define	_SC_THREAD_CPUTIME		91
+#define	_SC_DELAYTIMER_MAX		92
 
 /* Extensions found in Solaris and Linux. */
 #define	_SC_PHYS_PAGES		121

Reply via email to