Posix real time signal handling on timeout.

Jun 10, 2004 1 Replies

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


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...

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required