Posix real time signal handling on timeout.

Hi, If user creates a timer(task T1) with posix real time API: timer_create with the highest priority real time signal (SIGRTMIN) which will deliver a signal asynchronously on timeout. If another user task with higher priority (T2) gets created at the same instant when signal handler is supposed to deliver signal to the timer task T1.

Which one will get the higher priority?

I would like to know if posix high resolution timers with signal handlers have the highest priority irrespective of any user task(real time or non real time task). How does it get handle in monta vista linux kernel(RTOS)?

Your answer will help me to decide design approach.

Thanks,

-Jyoti

Reply to
Jyoti Wagholikar
Loading thread data ...

Both signals will be made pending "simultaneously", from the user's perspective. And thus, both processes made ready. Whichever process has a higher scheduling priority will run first.

The signal handlers do not run with any different prio than the process.

Monta Vista Linux != RTOS, by the way. If you need hard guarantees about deadline responsiveness, you can still get in trouble with it.

Keep in mind that scheduling priorities have less meaning on systems with multiple CPUs, by the way. Also keep in mind that you can *NOT* use scheduling priority to do mutual exclusion; at some point, your process will take an unexpected page fault (or whatever) and become descheduled when you're not expecting it.

If you can briefly describe your problem and constraints, it's possible that there are some other approaches that can help.

--
Steve Watt KD6GGD  PP-ASEL-IA          ICBM: 121W 56' 57.8" / 37N 20' 14.9"
 Internet: steve @ Watt.COM                         Whois: SW32
   Free time?  There's no such thing.  It just comes in varying prices...
Reply to
Steve Watt

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.