forked from Imagelibrary/rtems
score: _Watchdog_Is_far_future_monotonic_timespec
Update #3117. Update #3182.
This commit is contained in:
@@ -3110,6 +3110,9 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
|||||||
|
|
||||||
const uint32_t _Watchdog_Ticks_per_second = _CONFIGURE_TICKS_PER_SECOND;
|
const uint32_t _Watchdog_Ticks_per_second = _CONFIGURE_TICKS_PER_SECOND;
|
||||||
|
|
||||||
|
const uint64_t _Watchdog_Monotonic_max_seconds =
|
||||||
|
UINT64_MAX / _CONFIGURE_TICKS_PER_SECOND;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the Classic API Configuration Table.
|
* This is the Classic API Configuration Table.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -166,6 +166,15 @@ extern volatile Watchdog_Interval _Watchdog_Ticks_since_boot;
|
|||||||
*/
|
*/
|
||||||
extern const uint32_t _Watchdog_Ticks_per_second;
|
extern const uint32_t _Watchdog_Ticks_per_second;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief The maximum number of seconds representable in the monotonic watchdog
|
||||||
|
* format.
|
||||||
|
*
|
||||||
|
* This constant is defined by the application configuration via
|
||||||
|
* <rtems/confdefs.h>.
|
||||||
|
*/
|
||||||
|
extern const uint64_t _Watchdog_Monotonic_max_seconds;
|
||||||
|
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -319,6 +319,13 @@ RTEMS_INLINE_ROUTINE bool _Watchdog_Is_valid_interval_timespec(
|
|||||||
return _Watchdog_Is_valid_timespec( ts ) && ts->tv_sec >= 0;
|
return _Watchdog_Is_valid_timespec( ts ) && ts->tv_sec >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE bool _Watchdog_Is_far_future_monotonic_timespec(
|
||||||
|
const struct timespec *ts
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return ts->tv_sec >= _Watchdog_Monotonic_max_seconds;
|
||||||
|
}
|
||||||
|
|
||||||
RTEMS_INLINE_ROUTINE bool _Watchdog_Is_far_future_realtime_timespec(
|
RTEMS_INLINE_ROUTINE bool _Watchdog_Is_far_future_realtime_timespec(
|
||||||
const struct timespec *ts
|
const struct timespec *ts
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ static void test_watchdog_static_init( void )
|
|||||||
static void test_watchdog_config( void )
|
static void test_watchdog_config( void )
|
||||||
{
|
{
|
||||||
rtems_test_assert( _Watchdog_Ticks_per_second == 100 );
|
rtems_test_assert( _Watchdog_Ticks_per_second == 100 );
|
||||||
|
rtems_test_assert( _Watchdog_Monotonic_max_seconds == 184467440737095516 );
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool test_watchdog_is_inactive( test_watchdog *watchdog )
|
static bool test_watchdog_is_inactive( test_watchdog *watchdog )
|
||||||
|
|||||||
Reference in New Issue
Block a user