Pulse/priority issue

Hi everyone!

I am programming an application with thread A (let’s say priority 19) and
thread B (priority 5) are set to FIFO scheduling policy.

1)Thread B waits for a pulse from A.
2)Thread A sends a pulse
3)Execution then passes to thread B (note that A never blocked) and thread B
suddenly has a 63 priority.

Is this normal? I would have expected execution to remain with thread A
until control it blocks and then have B servicing the pulses. I took care to
send and initialise pulses with a small priority (5). I called
ChannelCreate() with _NTO_CHF_FIXED_PRIORITY.

My goal Is to have thread B servicing pulses from thread A only when A is
blocked (inactive). I need B to remain dormant in the mean time. Is this
possible? Would another message or IPC type be more convenient?

Another question: should I call connect attach in every thread that uses the
pulse or just the thread that initialises it?

Thanks!

Michel

“MIchel Ouellet” <michel.ouellet@opal-rt.com> wrote in message
news:b484u9$o6v$1@inn.qnx.com

Hi everyone!

I am programming an application with thread A (let’s say priority 19) and
thread B (priority 5) are set to FIFO scheduling policy.

1)Thread B waits for a pulse from A.
2)Thread A sends a pulse
3)Execution then passes to thread B (note that A never blocked) and thread
B
suddenly has a 63 priority.

How can you tell it has priority 63. If you used FIXED priority as you
said, this should not happen.

Is this normal? I would have expected execution to remain with thread A
until control it blocks and then have B servicing the pulses. I took care
to
send and initialise pulses with a small priority (5). I called
ChannelCreate() with _NTO_CHF_FIXED_PRIORITY.

My goal Is to have thread B servicing pulses from thread A only when A is
blocked (inactive). I need B to remain dormant in the mean time. Is this
possible? Would another message or IPC type be more convenient?

Since you used FIX PRIORITY setting A higher priority then B should take
care of that.

Another question: should I call connect attach in every thread that uses
the
pulse or just the thread that initialises it?

Thanks!

Michel