minios: add trydown

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
This commit is contained in:
Keir Fraser committed 2008-01-17 14:40:55 +00:00
1 parent d962772049
commit 69ca1c28b4
1 file changed
+13
+13
View File
@@ -49,6 +49,19 @@ static inline void init_SEMAPHORE(struct semaphore *sem, int count)
#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;
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.