summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2011-05-19 15:32:44 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2011-05-19 15:32:44 +0000
commit3af56998047dccb0654461f92224b10f19a7f6cc (patch)
tree0144e4b811f98a2b5973ec3ba77e0ac4d83faf91 /cpukit
parent2011-05-18 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-3af56998047dccb0654461f92224b10f19a7f6cc.tar.bz2
2011-05-19 Ralf Corsépius <ralf.corsepius@rtems.org>
* posix/Makefile.am: Add posixtime.h. * posix/src/clockgetres.c, posix/src/clockgettime.c, posix/src/clocksettime.c: Use CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID. Include posix/src/posixtime.h. * posix/src/posixtime.h: New.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/ChangeLog9
-rw-r--r--cpukit/posix/Makefile.am1
-rw-r--r--cpukit/posix/src/clockgetres.c6
-rw-r--r--cpukit/posix/src/clockgettime.c6
-rw-r--r--cpukit/posix/src/clocksettime.c6
-rw-r--r--cpukit/posix/src/posixtime.h36
6 files changed, 58 insertions, 6 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index e31c445648..7fa0ad0fba 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,3 +1,12 @@
+2011-05-19 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * posix/Makefile.am: Add posixtime.h.
+ * posix/src/clockgetres.c, posix/src/clockgettime.c,
+ posix/src/clocksettime.c:
+ Use CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID.
+ Include posix/src/posixtime.h.
+ * posix/src/posixtime.h: New.
+
2011-05-17 Chris Johns <chrisj@rtems.org>
PR 1774/filesystem
diff --git a/cpukit/posix/Makefile.am b/cpukit/posix/Makefile.am
index a269c70b86..1205188217 100644
--- a/cpukit/posix/Makefile.am
+++ b/cpukit/posix/Makefile.am
@@ -17,6 +17,7 @@ libposix_a_SOURCES =
libposix_a_SOURCES += src/sleep.c src/usleep.c
libposix_a_SOURCES += src/nanosleep.c src/clockgettime.c src/clocksettime.c \
src/clockgetres.c src/sysconf.c
+libposix_a_SOURCES += src/posixtime.h
include_rtems_posixdir = $(includedir)/rtems/posix
diff --git a/cpukit/posix/src/clockgetres.c b/cpukit/posix/src/clockgetres.c
index 7507bee614..3c3e76f38f 100644
--- a/cpukit/posix/src/clockgetres.c
+++ b/cpukit/posix/src/clockgetres.c
@@ -28,6 +28,8 @@
#include <rtems/seterr.h>
+#include "posixtime.h"
+
/*PAGE
*
* 14.2.1 Clocks, P1003.1b-1993, p. 263
@@ -48,8 +50,8 @@ int clock_getres(
*/
case CLOCK_REALTIME:
- case CLOCK_PROCESS_CPUTIME:
- case CLOCK_THREAD_CPUTIME:
+ case CLOCK_PROCESS_CPUTIME_ID:
+ case CLOCK_THREAD_CPUTIME_ID:
if ( res ) {
res->tv_sec = rtems_configuration_get_microseconds_per_tick() /
TOD_MICROSECONDS_PER_SECOND;
diff --git a/cpukit/posix/src/clockgettime.c b/cpukit/posix/src/clockgettime.c
index 852ac8e039..5b0b6eebeb 100644
--- a/cpukit/posix/src/clockgettime.c
+++ b/cpukit/posix/src/clockgettime.c
@@ -23,6 +23,8 @@
#include <rtems/seterr.h>
+#include "posixtime.h"
+
/*PAGE
*
* 14.2.1 Clocks, P1003.1b-1993, p. 263
@@ -48,14 +50,14 @@ int clock_gettime(
#endif
#ifdef _POSIX_CPUTIME
- if ( clock_id == CLOCK_PROCESS_CPUTIME ) {
+ if ( clock_id == CLOCK_PROCESS_CPUTIME_ID ) {
_TOD_Get_uptime_as_timespec( tp );
return 0;
}
#endif
#ifdef _POSIX_THREAD_CPUTIME
- if ( clock_id == CLOCK_THREAD_CPUTIME )
+ if ( clock_id == CLOCK_THREAD_CPUTIME_ID )
rtems_set_errno_and_return_minus_one( ENOSYS );
#endif
diff --git a/cpukit/posix/src/clocksettime.c b/cpukit/posix/src/clocksettime.c
index aa3743d9f9..fa1528a633 100644
--- a/cpukit/posix/src/clocksettime.c
+++ b/cpukit/posix/src/clocksettime.c
@@ -23,6 +23,8 @@
#include <rtems/seterr.h>
+#include "posixtime.h"
+
/*PAGE
*
* 14.2.1 Clocks, P1003.1b-1993, p. 263
@@ -45,11 +47,11 @@ int clock_settime(
_Thread_Enable_dispatch();
}
#ifdef _POSIX_CPUTIME
- else if ( clock_id == CLOCK_PROCESS_CPUTIME )
+ else if ( clock_id == CLOCK_PROCESS_CPUTIME_ID )
rtems_set_errno_and_return_minus_one( ENOSYS );
#endif
#ifdef _POSIX_THREAD_CPUTIME
- else if ( clock_id == CLOCK_THREAD_CPUTIME )
+ else if ( clock_id == CLOCK_THREAD_CPUTIME_ID )
rtems_set_errno_and_return_minus_one( ENOSYS );
#endif
else
diff --git a/cpukit/posix/src/posixtime.h b/cpukit/posix/src/posixtime.h
new file mode 100644
index 0000000000..bc28d60684
--- /dev/null
+++ b/cpukit/posix/src/posixtime.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2011.
+ * Ralf Corsépius, Ulm/Germany.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+/*
+ * Adapt RTEMS to newlibs with broken
+ * CLOCK_PROCESS_CPUTIME_ID/CLOCK_PROCESS_CPUTIME
+ * CLOCK_THREAD_CPUTIME_ID/CLOCK_THREAD_CPUTIME
+ */
+
+#ifndef _SRC_POSIX_POSIXTIME_H
+#define _SRC_POSIX_POSIXTIME_H
+
+#include <time.h>
+
+#ifdef RTEMS_NEWLIB
+/* Older newlibs bogusly used CLOCK_PROCESS_CPUTIME
+ instead of CLOCK_PROCESS_CPUTIME_ID */
+#ifndef CLOCK_PROCESS_CPUTIME_ID
+#define CLOCK_PROCESS_CPUTIME_ID CLOCK_PROCESS_CPUTIME
+#endif
+/* Older newlibs bogusly used CLOCK_THREAD_CPUTIME
+ instead of CLOCK_PROCESS_CPUTIME_ID */
+#ifndef CLOCK_THREAD_CPUTIME_ID
+#define CLOCK_THREAD_CPUTIME_ID CLOCK_THREAD_CPUTIME
+#endif
+#endif
+
+#endif