add trydown
PATCH 1/1 add trydown
add trydown
Signed-off-by Samuel Thibault <[email protected]>
extras/mini-os/include/semaphore.h +13 -0
@@ -49,6 +49,19 @@ static inline void init_SEMAPHORE(struct#define init_MUTEX (sem) init_SEMAPHORE(sem, 1) +static inline int trydown (struct semaphore *sem) +{ +unsigned long flags; +int ret =0 ; +local_irq_save (flags); +if (sem->count >0 ) { + ret =1 ; + sem->count--; + } +local_irq_restore (flags); +return ret; +} +static void inline down (struct semaphore *sem) {unsigned long flags;