All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] Task lock/unlock unlock difficulties
@ 2005-11-08  9:56 Hans-J. Ude
  2005-11-08 10:17 ` Philippe Gerum
  0 siblings, 1 reply; 3+ messages in thread
From: Hans-J. Ude @ 2005-11-08  9:56 UTC (permalink / raw)
  To: Xenomai-help

I need to lock/unlock the scheduler from time to time. I'm using the RTAI
native skin in userspace and tried the rt_task_set_mode approach but was not
very successfus yet. I've tried this:

int task_lock(void) { return rt_task_set_mode(0, T_LOCK, &mask); }
int task_unlock(void) { return rt_task_set_mode(T_LOCK, mask, NULL); }

To support nested calls to these functions i've implement an array of masks
and lock/unlock counters to maintain a stack. I've also tried a single mask
and no stack and with no mask at all. No success. It's hard to explain what
exactly happens because I'm porting an existing software with a really bad
design but the original works. I found there are xenomai functions called
xnpod_lock_sched(), which are directly called from e.g. the vxWorks skin.
Obviously xn_pod_lock has an integrated counting. Otherwise the vx skin
would be incompatible. But when i include pod.h i get a whole bunch of error
messages, likely due to missing defines. So can someone show me a way to a
clean working counting lock/unlock mechanism.

TAI,
Hans



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-11-09  9:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-08  9:56 [Xenomai-help] Task lock/unlock unlock difficulties Hans-J. Ude
2005-11-08 10:17 ` Philippe Gerum
2005-11-09  9:45   ` Hans-J. Ude

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.