Queue-Level Synchronization
Queue-level synchronization protects an individual message queue.
The module must ensure that no data inconsistency may occur when two different threads access both upstream and downstream queues at the same time.
This is the lowest level of synchronization available. It is typically used by modules with no need for synchronization, either because they share no state or provide their own synchronization or locking.
In the STREAMS Queue-Level Synchronization figure (Figure 1), the queue Bd (downstream queue of module B) is protected by queue-level synchronization. The bolded box shows the protected area; only one thread can access this area.
