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

Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org>
Date:   Tue Aug 28 08:19:48 2012 +0200

nucleus: unregister hostrt event when removing nucleus module

---

 ksrc/nucleus/module.c |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/ksrc/nucleus/module.c b/ksrc/nucleus/module.c
index 5eb7c52..052fcb5 100644
--- a/ksrc/nucleus/module.c
+++ b/ksrc/nucleus/module.c
@@ -92,8 +92,19 @@ static inline void init_hostrt(void)
        nkvdso->hostrt_data.live = 0;
        rthal_catch_hostrt(&hostrt_event);
 }
+
+static inline void cleanup_hostrt(void)
+{
+       rthal_catch_hostrt(NULL);
+}
 #else
-static inline void init_hostrt(void) { }
+static inline void init_hostrt(void)
+{
+}
+
+static inline void cleanup_hostrt(void)
+{
+}
 #endif /* CONFIG_XENO_OPT_HOSTRT */
 
 MODULE_DESCRIPTION("Xenomai nucleus");
@@ -235,8 +246,9 @@ int __init __xeno_sys_init(void)
 
        xnpod_umount();
 
-      cleanup_arch:
+       cleanup_hostrt();
 
+  cleanup_arch:
        xnarch_exit();
 
 #endif /* __KERNEL__ */
@@ -261,7 +273,7 @@ void __exit __xeno_sys_exit(void)
 
        xntbase_umount();
        xnpod_umount();
-
+       cleanup_hostrt();
        xnarch_exit();
 
 #ifdef __KERNEL__


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

Reply via email to