 
 final class QUnbufferedChan<T>: Chan<T>
 {
-  // housekeeping variables
+  // MARK: private housekeeping
 
   private let readerQueue = SemaphoreQueue()
   private let writerQueue = SemaphoreQueue()

    }
  }

  override func selectPutNow(selectionID: Selectable) -> Selection?
  {
    OSSpinLockLock(&lock)
    if let rs = readerQueue.dequeue()
    {
      OSSpinLockUnlock(&lock)
      return Selection(selectionID: selectionID, selectionData: rs)
    }
    else
    {
      OSSpinLockUnlock(&lock)
      return nil
    }
  }

  override func insert(ref: Selection, item: T) -> Bool
  {

    switch context
    {
    case nil:
      // thread was awoken by close(); which means put() has failed
      return false

    default:
