diff options
Diffstat (limited to 'cpukit/rtems/src/signalsend.c')
-rw-r--r-- | cpukit/rtems/src/signalsend.c | 50 |
1 files changed, 33 insertions, 17 deletions
diff --git a/cpukit/rtems/src/signalsend.c b/cpukit/rtems/src/signalsend.c index 72407e2b01..5e8419b4cf 100644 --- a/cpukit/rtems/src/signalsend.c +++ b/cpukit/rtems/src/signalsend.c @@ -1,3 +1,5 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + /** * @file * @@ -11,9 +13,26 @@ * COPYRIGHT (c) 1989-2014. * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ #ifdef HAVE_CONFIG_H @@ -35,16 +54,15 @@ static void _Signal_Action_handler( ISR_lock_Context *lock_context ) { - RTEMS_API_Control *api; - ASR_Information *asr; - rtems_signal_set signal_set; - bool normal_is_preemptible; - uint32_t normal_cpu_time_budget; - Thread_CPU_budget_algorithms normal_budget_algorithm; - uint32_t normal_isr_level; - uint32_t before_call_isr_level; - bool after_call_is_preemptible; - bool after_call_asr_is_enabled; + RTEMS_API_Control *api; + ASR_Information *asr; + rtems_signal_set signal_set; + bool normal_is_preemptible; + Thread_CPU_budget_control normal_cpu_budget; + uint32_t normal_isr_level; + uint32_t before_call_isr_level; + bool after_call_is_preemptible; + bool after_call_asr_is_enabled; (void) action; @@ -69,8 +87,7 @@ static void _Signal_Action_handler( _Assert( asr->is_enabled ); normal_is_preemptible = executing->is_preemptible; - normal_cpu_time_budget = executing->cpu_time_budget; - normal_budget_algorithm = executing->budget_algorithm; + normal_cpu_budget = executing->CPU_budget; /* Set mode for ASR processing */ @@ -102,8 +119,7 @@ static void _Signal_Action_handler( _Thread_State_acquire( executing, lock_context ); - executing->cpu_time_budget = normal_cpu_time_budget ; - executing->budget_algorithm = normal_budget_algorithm ; + executing->CPU_budget = normal_cpu_budget; after_call_is_preemptible = executing->is_preemptible; executing->is_preemptible = normal_is_preemptible; |