[EMAIL PROTECTED] wrote:

> 
> For example, in RTLinux, fifos shared
> between Linux (non-rt) processes and RT threads are asymmetric: the
> RT thread never blocks, the non-RT thread blocks. In many cases
> it is best to optimize the data operations and perform them under
> a spin_lock with interrupts disabled. In RTLinux pthread_spin_lock
> disables irqs and, in SMP also sets the lock
>       pthread_spin_lock(&myq.spin);
>       myq.tail->next = new;
>       new->next = 0;
>       myq.tail= next;
>       if(!myq.head)myq.head = new;
>       pthread_spin_unlock(&myq.spin);

How do you tell a blocking non-RT thread that new data is available?

Reply via email to