|
@@ -145,7 +145,13 @@ static int common_timer_del(struct k_itimer *timer);
|
|
|
|
|
|
static enum hrtimer_restart posix_timer_fn(struct hrtimer *data);
|
|
|
|
|
|
-static struct k_itimer *lock_timer(timer_t timer_id, unsigned long *flags);
|
|
|
+static struct k_itimer *__lock_timer(timer_t timer_id, unsigned long *flags);
|
|
|
+
|
|
|
+#define lock_timer(tid, flags) \
|
|
|
+({ struct k_itimer *__timr; \
|
|
|
+ __cond_lock(&__timr->it_lock, __timr = __lock_timer(tid, flags)); \
|
|
|
+ __timr; \
|
|
|
+})
|
|
|
|
|
|
static inline void unlock_timer(struct k_itimer *timr, unsigned long flags)
|
|
|
{
|
|
@@ -619,7 +625,7 @@ out:
|
|
|
* the find to the timer lock. To avoid a dead lock, the timer id MUST
|
|
|
* be release with out holding the timer lock.
|
|
|
*/
|
|
|
-static struct k_itimer *lock_timer(timer_t timer_id, unsigned long *flags)
|
|
|
+static struct k_itimer *__lock_timer(timer_t timer_id, unsigned long *flags)
|
|
|
{
|
|
|
struct k_itimer *timr;
|
|
|
/*
|