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 uint64_t _Watchdog_Monotonic_max_seconds =
|
||||
UINT64_MAX / _CONFIGURE_TICKS_PER_SECOND;
|
||||
|
||||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* @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
|
||||
|
||||
@@ -319,6 +319,13 @@ RTEMS_INLINE_ROUTINE bool _Watchdog_Is_valid_interval_timespec(
|
||||
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(
|
||||
const struct timespec *ts
|
||||
)
|
||||
|
||||
@@ -60,6 +60,7 @@ static void test_watchdog_static_init( void )
|
||||
static void test_watchdog_config( void )
|
||||
{
|
||||
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 )
|
||||
|
||||
Reference in New Issue
Block a user