Module: xenomai-3
Branch: arm64
Commit: ae17d745e4a93e1e96d894a14ce294257201ed4e
URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ae17d745e4a93e1e96d894a14ce294257201ed4e

Author: Philippe Gerum <r...@xenomai.org>
Date:   Mon Sep  7 14:52:59 2015 +0200

posix/timer: fix init upon NULL sigevent

---

 kernel/cobalt/posix/timer.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/kernel/cobalt/posix/timer.c b/kernel/cobalt/posix/timer.c
index e5551b3..8c4d2da 100644
--- a/kernel/cobalt/posix/timer.c
+++ b/kernel/cobalt/posix/timer.c
@@ -67,8 +67,10 @@ timer_init(struct cobalt_timer *timer,
            timer->clockid != CLOCK_REALTIME)
                return ERR_PTR(-EINVAL);
 
-       if (evp == NULL || evp->sigev_notify == SIGEV_NONE)
-               return owner;   /* Assume SIGEV_THREAD_ID. */
+       if (evp == NULL || evp->sigev_notify == SIGEV_NONE) {
+               target = owner; /* Assume SIGEV_THREAD_ID. */
+               goto init;
+       }
 
        if (evp->sigev_notify != SIGEV_THREAD_ID)
                return ERR_PTR(-EINVAL);
@@ -80,7 +82,7 @@ timer_init(struct cobalt_timer *timer,
        target = cobalt_thread_find_local(evp->sigev_notify_thread_id);
        if (target == NULL)
                return ERR_PTR(-EINVAL);
-
+init:
        /*
         * All standard clocks are based on the core clock, and we
         * want to deliver a signal when a timer elapses.


_______________________________________________
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git

Reply via email to