I have a question about basics of the synchronization of shared memory with 
The situation: The Sender is a RT task (primary domain) and the recipient is a 
non-RT task (usually in the secondary domain). Namely, the receiver is used to 
interact with a Web server. He calls to syscalls and stuff and because of that 
he's usually in the secondary mode.
Suppose the sender has written something to the shared memory: He uses mutex 
for synchronization, so he calls the rt_mutex_release() function.
The receiver will now get time to work from the scheduler. He calls 
rt_mutex_acquire() function to lock the shared memory. Then a context switch 
occurs from the secondary mode in the primary mode. He has now the resource for 
Now the scheduler lets sender-task to work and it wants to write something. So 
it calls rt_mutex_acquire() function. And now comes my question: Provides 
rt_mutex_acquire() a mechanism to signal the cheduler to immediately continue 
with the recipient-task? If so, how does the rt_mutex_acquire() function tells 
the scheduler that?
I came out because I in the documention I read the term "Rescheduling: always".
Best regards
Xenomai-core mailing list

Reply via email to