       let context = UnsafeMutablePointer<T>(dispatch_get_context(rs))
       switch context
       {
-      case nil:
-        preconditionFailure(__FUNCTION__)
+      case nil, waitSelect:
+        preconditionFailure("Context is \(context) in \(__FUNCTION__)")
 
       default:
         context.initialize(newElement)

      let context = UnsafePointer<T>(dispatch_get_context(ws))
      switch context
      {
      case nil:
        preconditionFailure(__FUNCTION__)

      default:

    { // there is already an interested reader
      OSSpinLockUnlock(&lock)

      let context = UnsafeMutablePointer<T>(dispatch_get_context(rs))
      switch context
      {
