Module: xenomai-forge
Branch: master
Commit: 4f9253988f118f487513280bc95c21c1beef297a
URL:    
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=4f9253988f118f487513280bc95c21c1beef297a

Author: Philippe Gerum <r...@xenomai.org>
Date:   Wed Jun  5 16:15:56 2013 +0200

copperplate/timerobj: carrier thread runs a no-cancel section

---

 lib/copperplate/timerobj.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/lib/copperplate/timerobj.c b/lib/copperplate/timerobj.c
index a367cb1..9e61bcd 100644
--- a/lib/copperplate/timerobj.c
+++ b/lib/copperplate/timerobj.c
@@ -185,8 +185,7 @@ static void *timerobj_server(void *arg)
                 * We have a single server thread for now, so handlers
                 * are fully serialized.
                 */
-               push_cleanup_lock(&svlock);
-               write_lock(&svlock);
+               write_lock_nocancel(&svlock);
 
                __RT(clock_gettime(CLOCK_COPPERPLATE, &now));
 
@@ -203,11 +202,10 @@ static void *timerobj_server(void *arg)
                        }
                        write_unlock(&svlock);
                        tmobj->handler(tmobj);
-                       write_lock(&svlock);
+                       write_lock_nocancel(&svlock);
                }
 
                write_unlock(&svlock);
-               pop_cleanup_lock(&svlock);
        }
 
        return NULL;


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

Reply via email to