[EMAIL PROTECTED] wrote: > On Fri, Jul 12, 2002 at 01:40:42AM +0200, Peter Hanappe wrote: > >>[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? >> > > It's done automatically by a write: a write does sends a soft interrupt to > Linux and the interrupt handler does a standard wakeup on flagged fifos.
This wakeup doesn't involve a call to the scheduler?
