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

Reply via email to