On 05/12/2014 02:37 PM, Petr Cervenka wrote:
Od: Philippe Gerum <r...@xenomai.org>


Thanks. Could you drop the previous instrumentation patches, and give a try at 
this one? It fixes a flaw in the logic for maintaining the thread information 
bits, which may have caused the issue you observed:

diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c
index 0a2ee19..22fa91d 100644
--- a/ksrc/nucleus/pod.c
+++ b/ksrc/nucleus/pod.c
@@ -1391,7 +1391,8 @@ void xnpod_suspend_thread(xnthread_t *thread, xnflags_t 
mask,
                }
#endif /* CONFIG_XENO_OPT_PERVASIVE */

-               xnthread_clear_info(thread, XNRMID | XNTIMEO | XNBREAK | 
XNWAKEN | XNROBBED);
+               xnthread_clear_info(thread, XNRMID | XNTIMEO | XNBREAK | \
+                                   XNWAKEN | XNROBBED | XNKICKED);
        }

        /* Don't start the timer for a thread indefinitely delayed by


I applied the new patch and I was not able to reproduce the -EINTR problem to 
this moment. But one of the machines I tried during long term test over the 
weekend got frozen. But it could be also from different reason. What do you 
think?

Could you enable all debug features (CONFIG_XENO_OPT_DEBUG), and particularly CONFIG_XENO_OPT_WATCHDOG? The system will be significantly slowed down due to the consistency checks on all internal lists (i.e. DEBUG_QUEUES), but this may give us some hints about the freeze.

--
Philippe.

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

Reply via email to