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

Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org>
Date:   Thu Apr  1 22:03:10 2010 +0200

common: do not declare a large array on stack for non-main threads.

On architectures where pthread_self() requires stack, this causes
segmentation faults.

---

 src/skins/common/bind.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/skins/common/bind.c b/src/skins/common/bind.c
index 352c4e8..d511072 100644
--- a/src/skins/common/bind.c
+++ b/src/skins/common/bind.c
@@ -146,12 +146,11 @@ xeno_bind_skin_opt(unsigned skin_magic, const char *skin,
 
 void xeno_fault_stack(void)
 {
-       char stk[xeno_stacksize(1)];
+       if (pthread_self() == xeno_main_tid) {
+               char stk[xeno_stacksize(1)];
 
-       if (pthread_self() != xeno_main_tid)
-               return;
-
-       stk[0] = stk[sizeof(stk) - 1] = 0xA5;
+               stk[0] = stk[sizeof(stk) - 1] = 0xA5;
+       }
 }
 
 void xeno_handle_mlock_alert(int sig, siginfo_t *si, void *context)


_______________________________________________
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git

Reply via email to