Module: xenomai-forge Branch: master Commit: ac13ca0d53782a0c59e1620f211d219a9788d34b URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=ac13ca0d53782a0c59e1620f211d219a9788d34b
Author: Philippe Gerum <r...@xenomai.org> Date: Thu Jan 5 10:09:49 2012 +0100 cobalt: isolate grant value in user window --- include/cobalt/nucleus/thread.h | 2 +- kernel/cobalt/monitor.c | 4 ++-- lib/cobalt/internal.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/cobalt/nucleus/thread.h b/include/cobalt/nucleus/thread.h index 598a14f..31ecc5b 100644 --- a/include/cobalt/nucleus/thread.h +++ b/include/cobalt/nucleus/thread.h @@ -144,7 +144,7 @@ typedef struct xnthread_info { struct xnthread_user_window { unsigned long state; - unsigned int granted : 1; + unsigned long grant_value; }; #ifdef __KERNEL__ diff --git a/kernel/cobalt/monitor.c b/kernel/cobalt/monitor.c index da51a39..a3517bc 100644 --- a/kernel/cobalt/monitor.c +++ b/kernel/cobalt/monitor.c @@ -198,7 +198,7 @@ static void cobalt_monitor_wakeup(struct cobalt_monitor *mon) * that ->wchan does match our sleep queue. */ if (bcast || - (p->u_window->granted && p->wchan == &tid->monitor_synch)) { + (p->u_window->grant_value && p->wchan == &tid->monitor_synch)) { xnsynch_wakeup_this_sleeper(&tid->monitor_synch, &p->plink); removeq(&mon->waiters, &tid->monitor_link); @@ -272,7 +272,7 @@ int cobalt_monitor_wait(struct cobalt_monitor_shadow __user *u_monsh, if (event & COBALT_MONITOR_WAITDRAIN) synch = &mon->drain; else { - cur->threadbase.u_window->granted = 0; + cur->threadbase.u_window->grant_value = 0; appendq(&mon->waiters, &cur->monitor_link); cur->monitor_queued = 1; } diff --git a/lib/cobalt/internal.c b/lib/cobalt/internal.c index fb68be3..d9b7cd2 100644 --- a/lib/cobalt/internal.c +++ b/lib/cobalt/internal.c @@ -174,7 +174,7 @@ void cobalt_monitor_grant(cobalt_monitor_t *mon, struct cobalt_monitor_data *datp = get_monitor_data(mon); datp->flags |= COBALT_MONITOR_GRANTED; - u_window->granted = 1; + u_window->grant_value = 1; } int cobalt_monitor_grant_sync(cobalt_monitor_t *mon, _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git