<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2011-09-29)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-09-29 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * sp2038/init.c: More test cases.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/sptests/ChangeLog.diff?r1=text&tr1=1.490&r2=text&tr2=1.491&diff_format=h">M</a></td><td width='1%'>1.491</td><td width='100%'>testsuites/sptests/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/sptests/sp2038/init.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>testsuites/sptests/sp2038/init.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/testsuites/sptests/ChangeLog:1.490 rtems/testsuites/sptests/ChangeLog:1.491
--- rtems/testsuites/sptests/ChangeLog:1.490    Wed Sep 28 11:01:53 2011
+++ rtems/testsuites/sptests/ChangeLog  Thu Sep 29 04:40:32 2011
</font><font color='#997700'>@@ -1,3 +1,7 @@
</font><font color='#000088'>+2011-09-29    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * sp2038/init.c: More test cases.
+
</font> 2011-09-28        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * sp2038/Makefile.am, sp2038/init.c, sp2038/sp2038.doc,

<font color='#006600'>diff -u rtems/testsuites/sptests/sp2038/init.c:1.1 rtems/testsuites/sptests/sp2038/init.c:1.2
--- rtems/testsuites/sptests/sp2038/init.c:1.1  Wed Sep 28 11:01:53 2011
+++ rtems/testsuites/sptests/sp2038/init.c      Thu Sep 29 04:40:32 2011
</font><font color='#997700'>@@ -30,6 +30,128 @@
</font> 
 #define ASSERT_SC(sc) rtems_test_assert((sc) == RTEMS_SUCCESSFUL)
 
<font color='#000088'>+static const uint32_t sample_seconds [] = {
+  571213695UL,
+  602836095UL,
+  634372095UL,
+  665908095UL,
+  697444095UL,
+  729066495UL,
+  760602495UL,
+  792138495UL,
+  823674495UL,
+  855296895UL,
+  886832895UL,
+  918368895UL,
+  949904895UL,
+  981527295UL,
+  1013063295UL,
+  1044599295UL,
+  1076135295UL,
+  1107757695UL,
+  1139293695UL,
+  1170829695UL,
+  1202365695UL,
+  1233988095UL,
+  1265524095UL,
+  1297060095UL,
+  1328596095UL,
+  1360218495UL,
+  1391754495UL,
+  1423290495UL,
+  1454826495UL,
+  1486448895UL,
+  1517984895UL,
+  1549520895UL,
+  1581056895UL,
+  1612679295UL,
+  1644215295UL,
+  1675751295UL,
+  1707287295UL,
+  1738909695UL,
+  1770445695UL,
+  1801981695UL,
+  1833517695UL,
+  1865140095UL,
+  1896676095UL,
+  1928212095UL,
+  1959748095UL,
+  1991370495UL,
+  2022906495UL,
+  2054442495UL,
+  2085978495UL,
+  2117600895UL,
+  2149136895UL,
+  2180672895UL,
+  2212208895UL,
+  2243831295UL,
+  2275367295UL,
+  2306903295UL,
+  2338439295UL,
+  2370061695UL,
+  2401597695UL,
+  2433133695UL,
+  2464669695UL,
+  2496292095UL,
+  2527828095UL,
+  2559364095UL,
+  2590900095UL,
+  2622522495UL,
+  2654058495UL,
+  2685594495UL,
+  2717130495UL,
+  2748752895UL,
+  2780288895UL,
+  2811824895UL,
+  2843360895UL,
+  2874983295UL,
+  2906519295UL,
+  2938055295UL,
+  2969591295UL,
+  3001213695UL,
+  3032749695UL,
+  3064285695UL,
+  3095821695UL,
+  3127444095UL,
+  3158980095UL,
+  3190516095UL,
+  3222052095UL,
+  3253674495UL,
+  3285210495UL,
+  3316746495UL,
+  3348282495UL,
+  3379904895UL,
+  3411440895UL,
+  3442976895UL,
+  3474512895UL,
+  3506135295UL,
+  3537671295UL,
+  3569207295UL,
+  3600743295UL,
+  3632365695UL,
+  3663901695UL,
+  3695437695UL,
+  3726973695UL,
+  3758596095UL,
+  3790132095UL,
+  3821668095UL,
+  3853204095UL,
+  3884826495UL,
+  3916362495UL,
+  3947898495UL,
+  3979434495UL,
+  4011056895UL,
+  4042592895UL,
+  4074128895UL,
+  4105664895UL,
+  4137200895UL,
+  4168736895UL,
+  4200272895UL,
+  4231808895UL,
+  4263431295UL,
+  4294967295UL
+};
+
</font> static const rtems_time_of_day nearly_problem_2038 = {
   .year = 2038,
   .month = 1,
<font color='#997700'>@@ -66,15 +188,39 @@
</font>   .second = 16
 };
 
<font color='#880000'>-static void test_case(void)
</font><font color='#000088'>+static void test_tod_to_seconds(void)
+{
+  rtems_status_code sc = RTEMS_SUCCESSFUL;
+  size_t i = 0;
+  size_t n = sizeof(sample_seconds) / sizeof(sample_seconds [0]);
+
+  for (i = 0; i < n; ++i) {
+    rtems_time_of_day tod = nearly_problem_2106;
+    uint32_t seconds = 0;
+    rtems_interval seconds_as_interval = 0;
+
+    tod.year = 1988 + i;
+    seconds = _TOD_To_seconds(&tod);
+    rtems_test_assert(seconds == sample_seconds [i]);
+
+    sc = rtems_clock_set(&tod);
+    ASSERT_SC(sc);
+
+    sc = rtems_clock_get_seconds_since_epoch(&seconds_as_interval);
+    ASSERT_SC(sc);
+    rtems_test_assert(seconds_as_interval == sample_seconds [i]);
+  }
+}
+
+static void test_problem_year(void)
</font> {
 #if TEST_APPLICABLE
   rtems_status_code sc = RTEMS_SUCCESSFUL;
<font color='#880000'>-  int64_t one = 1;
-  int64_t large = one << 32;
-  time_t time_t_large = (time_t) large;
-  bool time_t_is_32_bit = time_t_large != large;
-  bool time_t_is_signed = (((time_t) 0) - ((time_t) 1)) < 0;
</font><font color='#000088'>+  time_t zero = 0;
+  time_t one = 1;
+  time_t maybe_negative = zero - one;
+  bool time_t_is_32_bit = sizeof(time_t) == 4;
+  bool time_t_is_signed = maybe_negative < zero;
</font> 
   if (time_t_is_32_bit) {
     const rtems_time_of_day *nearly_problem = NULL;
<font color='#997700'>@@ -108,7 +254,8 @@
</font> {
   puts("\n\n*** TEST 2038 ***");
 
<font color='#880000'>-  test_case();
</font><font color='#000088'>+  test_tod_to_seconds();
+  test_problem_year();
</font> 
   puts("*** END OF TEST 2038 ***");
 
</pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-09-29 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * score/include/rtems/score/tod.h: Declare _TOD_Set_with_timestamp()
        and _TOD_Get_as_timestamp().
        * score/src/coretodset.c: Define _TOD_Set_with_timestamp().
        * score/src/coretodget.c: Define _TOD_Get_as_timestamp().
        * rtems/src/clockset.c: Use _TOD_Set_with_timestamp().
        * score/include/rtems/score/timestamp64.h, score/src/ts64set.c:
        Changed parameter types of _Timestamp64_Set().
        * rtems/src/clocktodtoseconds.c: Year 2100 is not a leap year.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ChangeLog.diff?r1=text&tr1=1.2928&r2=text&tr2=1.2929&diff_format=h">M</a></td><td width='1%'>1.2929</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/rtems/src/clockset.c.diff?r1=text&tr1=1.10&r2=text&tr2=1.11&diff_format=h">M</a></td><td width='1%'>1.11</td><td width='100%'>cpukit/rtems/src/clockset.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/rtems/src/clocktodtoseconds.c.diff?r1=text&tr1=1.10&r2=text&tr2=1.11&diff_format=h">M</a></td><td width='1%'>1.11</td><td width='100%'>cpukit/rtems/src/clocktodtoseconds.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/include/rtems/score/timestamp64.h.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>cpukit/score/include/rtems/score/timestamp64.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/include/rtems/score/tod.h.diff?r1=text&tr1=1.43&r2=text&tr2=1.44&diff_format=h">M</a></td><td width='1%'>1.44</td><td width='100%'>cpukit/score/include/rtems/score/tod.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/coretodget.c.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>cpukit/score/src/coretodget.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/coretodset.c.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>cpukit/score/src/coretodset.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/ts64set.c.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>cpukit/score/src/ts64set.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2928 rtems/cpukit/ChangeLog:1.2929
--- rtems/cpukit/ChangeLog:1.2928       Wed Sep 28 10:46:12 2011
+++ rtems/cpukit/ChangeLog      Thu Sep 29 04:55:53 2011
</font><font color='#997700'>@@ -1,3 +1,14 @@
</font><font color='#000088'>+2011-09-29    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * score/include/rtems/score/tod.h: Declare _TOD_Set_with_timestamp()
+       and _TOD_Get_as_timestamp().
+       * score/src/coretodset.c: Define _TOD_Set_with_timestamp().
+       * score/src/coretodget.c: Define _TOD_Get_as_timestamp().
+       * rtems/src/clockset.c: Use _TOD_Set_with_timestamp().
+       * score/include/rtems/score/timestamp64.h, score/src/ts64set.c:
+       Changed parameter types of _Timestamp64_Set().
+       * rtems/src/clocktodtoseconds.c: Year 2100 is not a leap year.
+
</font> 2011-09-28        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * rtems/include/rtems/rtems/clock.h, rtems/src/clockset.c: Added const

<font color='#006600'>diff -u rtems/cpukit/rtems/src/clockset.c:1.10 rtems/cpukit/rtems/src/clockset.c:1.11
--- rtems/cpukit/rtems/src/clockset.c:1.10      Wed Sep 28 10:46:13 2011
+++ rtems/cpukit/rtems/src/clockset.c   Thu Sep 29 04:55:54 2011
</font><font color='#997700'>@@ -30,7 +30,7 @@
</font>  *  This directive sets the date and time for this node.
  *
  *  Input parameters:
<font color='#880000'>- *    time_buffer - pointer to the time and date structure
</font><font color='#000088'>+ *    tod - pointer to the time and date structure
</font>  *
  *  Output parameters:
  *    RTEMS_SUCCESSFUL - if successful
<font color='#997700'>@@ -38,23 +38,26 @@
</font>  */
 
 rtems_status_code rtems_clock_set(
<font color='#880000'>-  const rtems_time_of_day *time_buffer
</font><font color='#000088'>+  const rtems_time_of_day *tod
</font> )
 {
<font color='#880000'>-  struct timespec  newtime;
-
-  if ( !time_buffer )
</font><font color='#000088'>+  if ( !tod )
</font>     return RTEMS_INVALID_ADDRESS;
 
<font color='#880000'>-  if ( _TOD_Validate( time_buffer ) ) {
-    newtime.tv_sec = _TOD_To_seconds( time_buffer );
-    newtime.tv_nsec = time_buffer->ticks *
-      rtems_configuration_get_nanoseconds_per_tick();
</font><font color='#000088'>+  if ( _TOD_Validate( tod ) ) {
+    Timestamp_Control tod_as_timestamp;
+    uint32_t seconds = _TOD_To_seconds( tod );
+    uint32_t nanoseconds = tod->ticks
+      * rtems_configuration_get_nanoseconds_per_tick();
+
+    _Timestamp_Set( &tod_as_timestamp, seconds, nanoseconds );
</font> 
     _Thread_Disable_dispatch();
<font color='#880000'>-      _TOD_Set( &newtime );
</font><font color='#000088'>+      _TOD_Set_with_timestamp( &tod_as_timestamp );
</font>     _Thread_Enable_dispatch();
<font color='#000088'>+
</font>     return RTEMS_SUCCESSFUL;
   }
<font color='#000088'>+
</font>   return RTEMS_INVALID_CLOCK;
 }

<font color='#006600'>diff -u rtems/cpukit/rtems/src/clocktodtoseconds.c:1.10 rtems/cpukit/rtems/src/clocktodtoseconds.c:1.11
--- rtems/cpukit/rtems/src/clocktodtoseconds.c:1.10     Sun Jul 24 18:55:09 2011
+++ rtems/cpukit/rtems/src/clocktodtoseconds.c  Thu Sep 29 04:55:54 2011
</font><font color='#997700'>@@ -18,6 +18,8 @@
</font> #include <rtems/system.h>
 #include <rtems/rtems/clock.h>
 
<font color='#000088'>+#define TOD_SECONDS_AT_2100_03_01_00_00 4107538800UL
+
</font> /*
  *  The following array contains the number of days in all months
  *  up to the month indicated by the index of the second dimension.
<font color='#997700'>@@ -78,6 +80,12 @@
</font> 
   time += the_tod->second;
 
<font color='#000088'>+  /* The year 2100 is not a leap year */
+  if ( time
+      >= (TOD_SECONDS_AT_2100_03_01_00_00 - TOD_SECONDS_1970_THROUGH_1988)) {
+    time -= TOD_SECONDS_PER_DAY;
+  }
+
</font>   time += TOD_SECONDS_1970_THROUGH_1988;
 
   return( time );

<font color='#006600'>diff -u rtems/cpukit/score/include/rtems/score/timestamp64.h:1.6 rtems/cpukit/score/include/rtems/score/timestamp64.h:1.7
--- rtems/cpukit/score/include/rtems/score/timestamp64.h:1.6    Wed Sep 28 09:42:12 2011
+++ rtems/cpukit/score/include/rtems/score/timestamp64.h        Thu Sep 29 04:55:54 2011
</font><font color='#997700'>@@ -55,14 +55,11 @@
</font> 
 static inline void _Timestamp64_implementation_Set(
   Timestamp64_Control *_time,
<font color='#880000'>-  long                 _seconds,
-  long                 _nanoseconds
</font><font color='#000088'>+  Timestamp64_Control  _seconds,
+  Timestamp64_Control  _nanoseconds
</font> )
 {
<font color='#880000'>-  Timestamp64_Control _seconds64 = _seconds;
-  Timestamp64_Control _nanoseconds64 = _nanoseconds;
-
-  *_time = _seconds64 * 1000000000L + _nanoseconds64;
</font><font color='#000088'>+  *_time = _seconds * 1000000000L + _nanoseconds;
</font> }
 
 /**
<font color='#997700'>@@ -81,8 +78,8 @@
</font> #else
   void _Timestamp64_Set(
     Timestamp64_Control *_time,
<font color='#880000'>-    long                _seconds,
-    long                _nanoseconds
</font><font color='#000088'>+    Timestamp64_Control  _seconds,
+    Timestamp64_Control  _nanoseconds
</font>   );
 #endif
 
<font color='#997700'>@@ -406,8 +403,8 @@
</font>   struct timespec           *_timespec
 )
 {
<font color='#880000'>-  _timespec->tv_sec = *_timestamp / 1000000000L;
-  _timespec->tv_nsec = *_timestamp % 1000000000L;
</font><font color='#000088'>+  _timespec->tv_sec = (time_t) (*_timestamp / 1000000000L);
+  _timespec->tv_nsec = (long) (*_timestamp % 1000000000L);
</font> }
 
 /**

<font color='#006600'>diff -u rtems/cpukit/score/include/rtems/score/tod.h:1.43 rtems/cpukit/score/include/rtems/score/tod.h:1.44
--- rtems/cpukit/score/include/rtems/score/tod.h:1.43   Fri Jun 17 10:40:09 2011
+++ rtems/cpukit/score/include/rtems/score/tod.h        Thu Sep 29 04:55:54 2011
</font><font color='#997700'>@@ -163,27 +163,48 @@
</font> void _TOD_Handler_initialization(void);
 
 /**
<font color='#880000'>- *  @brief _TOD_Set
</font><font color='#000088'>+ *  @brief Sets the time of day according to @a tod_as_timestamp.
</font>  *
<font color='#880000'>- *  This routine sets the current time of day to @a time and
- *  the equivalent SECONDS_SINCE_EPOCH.
</font><font color='#000088'>+ *  The @a tod_as_timestamp timestamp represents the time since UNIX epoch.  The watchdog
+ *  seconds chain will be adjusted.
</font>  */
<font color='#880000'>-void _TOD_Set(
-  const struct timespec *time
</font><font color='#000088'>+void _TOD_Set_with_timestamp(
+  const Timestamp_Control *tod_as_timestamp
</font> );
 
<font color='#000088'>+static inline void _TOD_Set(
+  const struct timespec *tod_as_timespec
+)
+{
+  Timestamp_Control tod_as_timestamp;
+
+  _Timestamp_Set(
+    &tod_as_timestamp,
+    tod_as_timespec->tv_sec,
+    tod_as_timespec->tv_nsec
+  );
+  _TOD_Set_with_timestamp( &tod_as_timestamp );
+}
+
</font> /**
<font color='#880000'>- *  @brief _TOD_Get
- *
- *  This routine returns the current time of day with potential accuracy
- *  to the nanosecond.
</font><font color='#000088'>+ *  @brief Returns the time of day in @a tod_as_timestamp.
</font>  *
<font color='#880000'>- *  @param[in] time is a pointer to the time to be returned
</font><font color='#000088'>+ *  The @a tod_as_timestamp timestamp represents the time since UNIX epoch.
</font>  */
<font color='#880000'>-void _TOD_Get(
-  struct timespec *time
</font><font color='#000088'>+void _TOD_Get_as_timestamp(
+  Timestamp_Control *tod_as_timestamp
</font> );
 
<font color='#000088'>+static inline void _TOD_Get(
+  struct timespec *tod_as_timespec
+)
+{
+  Timestamp_Control tod_as_timestamp;
+
+  _TOD_Get_as_timestamp( &tod_as_timestamp );
+  _Timestamp_To_timespec( &tod_as_timestamp, tod_as_timespec );
+}
+
</font> /**
  *  @brief _TOD_Get_uptime
  *

<font color='#006600'>diff -u rtems/cpukit/score/src/coretodget.c:1.5 rtems/cpukit/score/src/coretodget.c:1.6
--- rtems/cpukit/score/src/coretodget.c:1.5     Thu Dec 16 08:50:12 2010
+++ rtems/cpukit/score/src/coretodget.c Thu Sep 29 04:55:54 2011
</font><font color='#997700'>@@ -22,19 +22,8 @@
</font> #include <rtems/score/tod.h>
 #include <rtems/score/watchdog.h>
 
<font color='#880000'>-/*
- *  _TOD_Get
- *
- *  This routine is used to obtain the current date and time.
- *
- *  Input parameters:
- *    time  - pointer to the time and date structure
- *
- *  Output parameters: NONE
- */
-
-void _TOD_Get(
-  struct timespec *time
</font><font color='#000088'>+void _TOD_Get_as_timestamp(
+  Timestamp_Control *tod
</font> )
 {
   ISR_Level         level;
<font color='#997700'>@@ -52,5 +41,6 @@
</font> 
   _Timestamp_Set( &offset, 0, nanoseconds );
   _Timestamp_Add_to( &now, &offset );
<font color='#880000'>-  _Timestamp_To_timespec( &now, time );
</font><font color='#000088'>+
+  *tod = now;
</font> }

<font color='#006600'>diff -u rtems/cpukit/score/src/coretodset.c:1.12 rtems/cpukit/score/src/coretodset.c:1.13
--- rtems/cpukit/score/src/coretodset.c:1.12    Sun Jul 24 18:55:13 2011
+++ rtems/cpukit/score/src/coretodset.c Thu Sep 29 04:55:54 2011
</font><font color='#997700'>@@ -23,39 +23,26 @@
</font> #include <rtems/score/tod.h>
 #include <rtems/score/watchdog.h>
 
<font color='#880000'>-/*
- *  _TOD_Set
- *
- *  This rountine sets the current date and time with the specified
- *  new date and time structure.
- *
- *  Input parameters:
- *    time                - pointer to the time and date structure
- *
- *  Output parameters: NONE
- */
-
-void _TOD_Set(
-  const struct timespec *time
</font><font color='#000088'>+void _TOD_Set_with_timestamp(
+  const Timestamp_Control *tod
</font> )
 {
<font color='#880000'>-  long seconds;
</font><font color='#000088'>+  Watchdog_Interval seconds_next = _Timestamp_Get_seconds( tod );
+  Watchdog_Interval seconds_now;
</font> 
   _Thread_Disable_dispatch();
   _TOD_Deactivate();
 
<font color='#880000'>-  seconds = _TOD_Seconds_since_epoch();
</font><font color='#000088'>+  seconds_now = _TOD_Seconds_since_epoch();
</font> 
<font color='#880000'>-  if ( time->tv_sec < seconds )
-    _Watchdog_Adjust_seconds( WATCHDOG_BACKWARD, seconds - time->tv_sec );
</font><font color='#000088'>+  if ( seconds_next < seconds_now )
+    _Watchdog_Adjust_seconds( WATCHDOG_BACKWARD, seconds_now - seconds_next );
</font>   else
<font color='#880000'>-    _Watchdog_Adjust_seconds( WATCHDOG_FORWARD, time->tv_sec - seconds );
</font><font color='#000088'>+    _Watchdog_Adjust_seconds( WATCHDOG_FORWARD, seconds_next - seconds_now );
</font> 
<font color='#880000'>-  /* POSIX format TOD (timespec) */
-  _Timestamp_Set( &_TOD_Now, time->tv_sec, time->tv_nsec );
</font><font color='#000088'>+  _TOD_Now = *tod;
</font>   _TOD_Is_set = true;
 
   _TOD_Activate();
<font color='#880000'>-
</font>   _Thread_Enable_dispatch();
 }

<font color='#006600'>diff -u rtems/cpukit/score/src/ts64set.c:1.2 rtems/cpukit/score/src/ts64set.c:1.3
--- rtems/cpukit/score/src/ts64set.c:1.2        Wed Sep 28 09:42:12 2011
+++ rtems/cpukit/score/src/ts64set.c    Thu Sep 29 04:55:54 2011
</font><font color='#997700'>@@ -22,8 +22,8 @@
</font> #if CPU_TIMESTAMP_USE_INT64 == TRUE
 void _Timestamp64_Set(
   Timestamp64_Control *_time,
<font color='#880000'>-  long                 _seconds,
-  long                 _nanoseconds
</font><font color='#000088'>+  Timestamp64_Control  _seconds,
+  Timestamp64_Control  _nanoseconds
</font> )
 {
   _Timestamp64_implementation_Set( _time, _seconds, _nanoseconds );
</pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>