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

Author: Philippe Gerum <r...@xenomai.org>
Date:   Tue Feb 25 16:53:37 2014 +0100

native: fix interrupt state corruption in auto-cleanup

---

 include/native/ppd.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/native/ppd.h b/include/native/ppd.h
index 99c78d3..efd9c41 100644
--- a/include/native/ppd.h
+++ b/include/native/ppd.h
@@ -103,8 +103,8 @@ static inline xeno_rholder_t *xeno_get_rholder(void)
                        err = rt_##__name##_delete(obj);                \
                        __xeno_trace_release(#__name, obj, err);        \
                        if (unlikely(err)) {                            \
+                               xnlock_get_irqsave(&nklock, s);         \
                                if ((__rq) != 
&__native_global_rholder.__name##q) { \
-                                       xnlock_get_irqsave(&nklock, s); \
                                        nholder = popq((__rq), holder); \
                                        
appendq(&__native_global_rholder.__name##q, holder); \
                                        obj->rqueue = 
&__native_global_rholder.__name##q; \


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

Reply via email to