Fabien MAHOT wrote:
> Hello,
>
> I would like to know if you find something about my problem? Do you have
> more clues with the "frame pointers" debug?
Hi Fabien,
I found something. Could you try the attached patch, to see if we are
spotting the right bug ?
TIA,
--
Gilles.
Index: ksrc/nucleus/shadow.c
===================================================================
--- ksrc/nucleus/shadow.c (revision 4002)
+++ ksrc/nucleus/shadow.c (working copy)
@@ -1002,6 +1002,8 @@ static int gatekeeper_thread(void *data)
up(&gk->sync); /* Sync with xnshadow_mount(). */
for (;;) {
+ unsigned long flags;
+
set_current_state(TASK_INTERRUPTIBLE);
up(&gk->sync); /* Make the request token available. */
schedule();
@@ -1018,6 +1020,7 @@ static int gatekeeper_thread(void *data)
by a signal before we have been able to process the
pending request, just ignore the latter. */
+ local_irq_save(flags);
if (xnthread_user_task(thread)->state == TASK_INTERRUPTIBLE) {
rpi_pop(thread);
xnlock_get_irqsave(&nklock, s);
@@ -1034,6 +1037,7 @@ static int gatekeeper_thread(void *data)
xnpod_schedule();
xnlock_put_irqrestore(&nklock, s);
}
+ local_irq_restore(flags);
}
return 0;
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help