Ivan Martinez wrote:
> 
> Stuart Hughes wrote:
> >
> > Ivan Martinez wrote:
> > >
> > >         Hello!
> > >         I have some real time tasks/threads sharing some variables, so I would
> > > like to prevent them from being interrupted by other task when reading
> > > or writing them. How can I do that?. Do I get what I want with
> > > "rtl_no_iterrupts"?.
> > >         Thank you!.
> >
> > Hi Ivan,
> >
> > I use the following wrappers:
> >
> > #ifdef CONFIG_RTL
> >
> > #include <asm/rtl_sync.h>
> > #undef cli()
> > #undef sti()
> > #undef save_flags(x)
> > #undef restore_flags(x)
> > #define sti()
> > #define cli()
> > #define save_flags(x)  rtl_hard_savef_and_cli(x)
> > #define restore_flags(x) rtl_hard_restore_flags(x)
> >
> > #else
> > .....
> >
> > Then you can just use save_flags(flags) and restore_flags(flags) pairs.
> > It works on a uniprocessor, but there may well be a better way.
> >
> > Regards, Stuart
> 
>         I can't understand very well what you do with that. Could somebody
> explain me a bit about it?. Any simpler way of doing what I want?. Thank
> you.

Hi Ivan,

To simplify what I was saying, for RTLinux, you need to isolate your
code using the following (the complication above makes sure that the
correct calls get made).

unsigned long flags;

// critical section, disable interrrupts
rtl_hard_savef_and_cli(flags)
.
.
.
.
// restore interrupts
rtl_hard_restore_flags(flags)


Sorry that my previous answer was so obscure.

Regards, Stuart
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to