Official mbed Real Time Operating System based on the RTX implementation of the CMSIS-RTOS API open standard.
Dependents: denki-yohou_b TestY201 Network-RTOS NTPClient_HelloWorld ... more
Deprecated
This is the mbed 2 rtos library. mbed OS 5 integrates the mbed library with mbed-rtos. With this, we have provided thread safety for all mbed APIs. If you'd like to learn about using mbed OS 5, please see the docs.
Diff: rtx/TARGET_CORTEX_M/rt_Semaphore.c
- Revision:
- 112:53ace74b190c
- Parent:
- 49:77c8e4604045
--- a/rtx/TARGET_CORTEX_M/rt_Semaphore.c Tue May 03 00:15:52 2016 +0100 +++ b/rtx/TARGET_CORTEX_M/rt_Semaphore.c Thu May 05 20:45:13 2016 +0100 @@ -1,12 +1,12 @@ /*---------------------------------------------------------------------------- - * RL-ARM - RTX + * CMSIS-RTOS - RTX *---------------------------------------------------------------------------- * Name: RT_SEMAPHORE.C * Purpose: Implements binary and counting semaphores - * Rev.: V4.60 + * Rev.: V4.79 *---------------------------------------------------------------------------- * - * Copyright (c) 1999-2009 KEIL, 2009-2012 ARM Germany GmbH + * Copyright (c) 1999-2009 KEIL, 2009-2015 ARM Germany GmbH * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -33,7 +33,7 @@ *---------------------------------------------------------------------------*/ #include "rt_TypeDef.h" -#include "RTX_Conf.h" +#include "RTX_Config.h" #include "rt_System.h" #include "rt_List.h" #include "rt_Task.h" @@ -69,20 +69,20 @@ while (p_SCB->p_lnk != NULL) { /* A task is waiting for token */ p_TCB = rt_get_first ((P_XCB)p_SCB); - rt_ret_val(p_TCB, 0); + rt_ret_val(p_TCB, 0U); rt_rmv_dly(p_TCB); p_TCB->state = READY; rt_put_prio (&os_rdy, p_TCB); } - if (os_rdy.p_lnk && (os_rdy.p_lnk->prio > os_tsk.run->prio)) { + if ((os_rdy.p_lnk != NULL) && (os_rdy.p_lnk->prio > os_tsk.run->prio)) { /* preempt running task */ rt_put_prio (&os_rdy, os_tsk.run); os_tsk.run->state = READY; rt_dispatch (NULL); } - p_SCB->cb_type = 0; + p_SCB->cb_type = 0U; return (OS_R_OK); } @@ -100,7 +100,7 @@ /* A task is waiting for token */ p_TCB = rt_get_first ((P_XCB)p_SCB); #ifdef __CMSIS_RTOS - rt_ret_val(p_TCB, 1); + rt_ret_val(p_TCB, 1U); #else rt_ret_val(p_TCB, OS_R_SEM); #endif @@ -126,7 +126,7 @@ return (OS_R_OK); } /* No token available: wait for one */ - if (timeout == 0) { + if (timeout == 0U) { return (OS_R_TMO); } if (p_SCB->p_lnk != NULL) { @@ -145,10 +145,10 @@ /*--------------------------- isr_sem_send ----------------------------------*/ void isr_sem_send (OS_ID semaphore) { - /* Same function as "os_sem"send", but to be called by ISRs */ + /* Same function as "os_sem_send", but to be called by ISRs */ P_SCB p_SCB = semaphore; - rt_psq_enq (p_SCB, 0); + rt_psq_enq (p_SCB, 0U); rt_psh_req (); } @@ -165,7 +165,7 @@ rt_rmv_dly (p_TCB); p_TCB->state = READY; #ifdef __CMSIS_RTOS - rt_ret_val(p_TCB, 1); + rt_ret_val(p_TCB, 1U); #else rt_ret_val(p_TCB, OS_R_SEM); #endif @@ -180,4 +180,3 @@ /*---------------------------------------------------------------------------- * end of file *---------------------------------------------------------------------------*/ -