diff options
author | Gedare Bloom <gedare@rtems.org> | 2016-06-09 11:33:15 -0400 |
---|---|---|
committer | Gedare Bloom <gedare@rtems.org> | 2016-07-25 12:44:47 -0400 |
commit | f23d4706169d68d3c4e90b297650f89c272716f4 (patch) | |
tree | 333bdc4b4be2ec4ad7ee80ee03229759ec60602a /cpukit/rtems/src | |
parent | score: Fix for RTEMS_DEBUG (diff) | |
download | rtems-f23d4706169d68d3c4e90b297650f89c272716f4.tar.bz2 |
cpukit: Add and use Watchdog_Discipline.
Clock disciplines may be WATCHDOG_RELATIVE, WATCHDOG_ABSOLUTE,
or WATCHDOG_NO_TIMEOUT. A discipline of WATCHDOG_RELATIVE with
a timeout of WATCHDOG_NO_TIMEOUT is equivalent to a discipline
of WATCHDOG_NO_TIMEOUT.
updates #2732
Diffstat (limited to 'cpukit/rtems/src')
-rw-r--r-- | cpukit/rtems/src/barrierwait.c | 2 | ||||
-rw-r--r-- | cpukit/rtems/src/msgqreceive.c | 2 | ||||
-rw-r--r-- | cpukit/rtems/src/msgqsend.c | 1 | ||||
-rw-r--r-- | cpukit/rtems/src/msgqurgent.c | 1 | ||||
-rw-r--r-- | cpukit/rtems/src/regiongetsegment.c | 1 | ||||
-rw-r--r-- | cpukit/rtems/src/semobtain.c | 7 |
6 files changed, 5 insertions, 9 deletions
diff --git a/cpukit/rtems/src/barrierwait.c b/cpukit/rtems/src/barrierwait.c index 5f1f023f50..c0931689c7 100644 --- a/cpukit/rtems/src/barrierwait.c +++ b/cpukit/rtems/src/barrierwait.c @@ -38,11 +38,11 @@ rtems_status_code rtems_barrier_wait( return RTEMS_INVALID_ID; } + _Thread_queue_Context_set_relative_timeout( &queue_context, timeout ); status = _CORE_barrier_Seize( &the_barrier->Barrier, _Thread_Executing, true, - timeout, &queue_context ); return _Status_Get( status ); diff --git a/cpukit/rtems/src/msgqreceive.c b/cpukit/rtems/src/msgqreceive.c index 75c15beb6a..d509faf988 100644 --- a/cpukit/rtems/src/msgqreceive.c +++ b/cpukit/rtems/src/msgqreceive.c @@ -61,13 +61,13 @@ rtems_status_code rtems_message_queue_receive( ); executing = _Thread_Executing; + _Thread_queue_Context_set_relative_timeout( &queue_context, timeout ); status = _CORE_message_queue_Seize( &the_message_queue->message_queue, executing, buffer, size, !_Options_Is_no_wait( option_set ), - timeout, &queue_context ); return _Status_Get( status ); diff --git a/cpukit/rtems/src/msgqsend.c b/cpukit/rtems/src/msgqsend.c index 7968281d59..1fab4b07a8 100644 --- a/cpukit/rtems/src/msgqsend.c +++ b/cpukit/rtems/src/msgqsend.c @@ -58,7 +58,6 @@ rtems_status_code rtems_message_queue_send( buffer, size, false, /* sender does not block */ - 0, /* no timeout */ &queue_context ); return _Status_Get( status ); diff --git a/cpukit/rtems/src/msgqurgent.c b/cpukit/rtems/src/msgqurgent.c index 6c6379d7d8..4756da4a33 100644 --- a/cpukit/rtems/src/msgqurgent.c +++ b/cpukit/rtems/src/msgqurgent.c @@ -58,7 +58,6 @@ rtems_status_code rtems_message_queue_urgent( buffer, size, false, /* sender does not block */ - 0, /* no timeout */ &queue_context ); return _Status_Get( status ); diff --git a/cpukit/rtems/src/regiongetsegment.c b/cpukit/rtems/src/regiongetsegment.c index cfc664580c..ec0c52519b 100644 --- a/cpukit/rtems/src/regiongetsegment.c +++ b/cpukit/rtems/src/regiongetsegment.c @@ -87,6 +87,7 @@ rtems_status_code rtems_region_get_segment( executing, STATES_WAITING_FOR_SEGMENT, timeout, + WATCHDOG_RELATIVE, 2 ); diff --git a/cpukit/rtems/src/semobtain.c b/cpukit/rtems/src/semobtain.c index 0e5330af41..9afef54917 100644 --- a/cpukit/rtems/src/semobtain.c +++ b/cpukit/rtems/src/semobtain.c @@ -69,13 +69,14 @@ rtems_status_code rtems_semaphore_obtain( executing = _Thread_Executing; wait = !_Options_Is_no_wait( option_set ); + _Thread_queue_Context_set_relative_timeout( &queue_context, timeout ); + switch ( the_semaphore->variant ) { case SEMAPHORE_VARIANT_MUTEX_INHERIT_PRIORITY: status = _CORE_recursive_mutex_Seize( &the_semaphore->Core_control.Mutex.Recursive, executing, wait, - timeout, _CORE_recursive_mutex_Seize_nested, &queue_context ); @@ -85,7 +86,6 @@ rtems_status_code rtems_semaphore_obtain( &the_semaphore->Core_control.Mutex, executing, wait, - timeout, _CORE_recursive_mutex_Seize_nested, &queue_context ); @@ -96,7 +96,6 @@ rtems_status_code rtems_semaphore_obtain( _Semaphore_Get_operations( the_semaphore ), executing, wait, - timeout, _CORE_recursive_mutex_Seize_nested, &queue_context ); @@ -107,7 +106,6 @@ rtems_status_code rtems_semaphore_obtain( &the_semaphore->Core_control.MRSP, executing, wait, - timeout, &queue_context ); break; @@ -122,7 +120,6 @@ rtems_status_code rtems_semaphore_obtain( _Semaphore_Get_operations( the_semaphore ), executing, wait, - timeout, &queue_context ); break; |