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

Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org>
Date:   Sat May 11 19:38:15 2013 +0200

nucleus/shadow: generalize xnshadow_call_mayday

Allow skins to use it to send other signals than SIGDEBUG

---

 include/nucleus/shadow.h |    5 ++---
 ksrc/nucleus/sched.c     |    3 ++-
 ksrc/nucleus/shadow.c    |    3 +--
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/include/nucleus/shadow.h b/include/nucleus/shadow.h
index 9c8784c..bca3c48 100644
--- a/include/nucleus/shadow.h
+++ b/include/nucleus/shadow.h
@@ -99,10 +99,9 @@ void xnshadow_rpi_check(void);
 
 #ifdef RTHAL_HAVE_RETURN_EVENT
 #define XNARCH_HAVE_MAYDAY  1
-void xnshadow_call_mayday(struct xnthread *thread, int sigtype);
+void xnshadow_call_mayday(struct xnthread *thread);
 #else
-static inline void xnshadow_call_mayday(struct xnthread *thread,
-                                       int sigtype)
+static inline void xnshadow_call_mayday(struct xnthread *thread)
 {
        /* no luck, I-pipe too old. Nobody hears you screaming... */
 }
diff --git a/ksrc/nucleus/sched.c b/ksrc/nucleus/sched.c
index 5d2f074..3391f4a 100644
--- a/ksrc/nucleus/sched.c
+++ b/ksrc/nucleus/sched.c
@@ -99,7 +99,8 @@ static void xnsched_watchdog_handler(struct xntimer *timer)
                xnprintf("watchdog triggered -- signaling runaway thread "
                         "'%s'\n", xnthread_name(thread));
                xnthread_set_info(thread, XNAMOK);
-               xnshadow_call_mayday(thread, SIGDEBUG_WATCHDOG);
+               xnshadow_send_sig(thread, SIGDEBUG, SIGDEBUG_WATCHDOG, 1);
+               xnshadow_call_mayday(thread);
        } else
 #endif /* CONFIG_XENO_OPT_PERVASIVE */
        {
diff --git a/ksrc/nucleus/shadow.c b/ksrc/nucleus/shadow.c
index 7c4e032..50ee035 100644
--- a/ksrc/nucleus/shadow.c
+++ b/ksrc/nucleus/shadow.c
@@ -1643,11 +1643,10 @@ static unsigned long map_mayday_page(struct task_struct 
*p)
        return IS_ERR_VALUE(u_addr) ? 0UL : u_addr;
 }
 
-void xnshadow_call_mayday(struct xnthread *thread, int sigtype)
+void xnshadow_call_mayday(struct xnthread *thread)
 {
        struct task_struct *p = xnthread_archtcb(thread)->user_task;
        xnthread_set_info(thread, XNKICKED);
-       xnshadow_send_sig(thread, SIGDEBUG, sigtype, 1);
        xnarch_call_mayday(p);
 }
 EXPORT_SYMBOL_GPL(xnshadow_call_mayday);


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

Reply via email to