Remove itimerspec from <ros/time.h> (XCC)
authorKevin Klues <klueska@cs.berkeley.edu>
Wed, 30 Sep 2015 21:57:02 +0000 (14:57 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 1 Oct 2015 14:21:45 +0000 (10:21 -0400)
Its existence causes conflicts when both <ros/time.h> and <time.h> are
\#included in the same file. We will likely want to add support for an
itimer at some point in the future, but this will never be a kernel
construct, so it's fine to pull its definition straight from <time.h>
when we go to build it. Any implementation we build will sit on the
\#alarm device and just expose the itimer interface in userspace.

We already support something "sortof" like the itimer, except its on a
per-vcore basis, rather than a per-thread basis. We can think about
actually supporting the itimer interface similarly.

[brho: make timer_deps include <ros/time.h> to check for the conflict]

Reinstall your kernel headers.

kern/include/ros/time.h
tests/timer_deps.c [new file with mode: 0644]

index a9a2610..8a89336 100644 (file)
@@ -15,11 +15,6 @@ struct timespec {
        long    tv_nsec;  /* Nanoseconds */
 };
 
-struct itimerspec {
-       struct timespec  it_interval;  /* Timer period */
-       struct timespec  it_value;     /* Timer expiration */
-};
-
 struct timeval {
        time_t tv_sec;  /* seconds */
        time_t tv_usec; /* microseconds */
diff --git a/tests/timer_deps.c b/tests/timer_deps.c
new file mode 100644 (file)
index 0000000..cc38218
--- /dev/null
@@ -0,0 +1,9 @@
+#include <ros/time.h>
+#include <time.h>
+#include <stdio.h>
+
+int main(int argc, char **argv)
+{
+       printf("sizeof timespec: %d\n", sizeof(struct timespec));
+       return 0;
+}