diff options
author | Richard Braun <rbraun@sceen.net> | 2017-08-27 17:20:12 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2017-08-27 17:20:12 +0200 |
commit | cbf35081fabde1ce35cbaf223fde853db86e06d4 (patch) | |
tree | a6215d6335ec42e33da4b6aadfa1b3c0be9c860b /kern/rtmutex.h | |
parent | 094319b4a0a04ae11e24b44bb67aaf901536afb2 (diff) | |
parent | 70f7512a01ba8f90aad6dbb4d285e279f0e17e64 (diff) |
Merge branch 'timer_system'
Diffstat (limited to 'kern/rtmutex.h')
-rw-r--r-- | kern/rtmutex.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/kern/rtmutex.h b/kern/rtmutex.h index ec79afa9..87cd15ad 100644 --- a/kern/rtmutex.h +++ b/kern/rtmutex.h @@ -87,6 +87,20 @@ rtmutex_lock(struct rtmutex *rtmutex) } } +static inline int +rtmutex_timedlock(struct rtmutex *rtmutex, uint64_t ticks) +{ + uintptr_t prev_owner; + + prev_owner = rtmutex_lock_fast(rtmutex); + + if (unlikely(prev_owner != 0)) { + return rtmutex_timedlock_slow(rtmutex, ticks); + } + + return 0; +} + /* * Unlock a real-time mutex. * |