     }
   }
 
+  // MARK: State Handling
+
   var rawState: Int32 { return currentState }
   var state: ChannelSemaphoreState { return ChannelSemaphoreState(rawValue: currentState)! }
 

    }
    return nil
  }

  func signal() -> Bool
  {

  var info = mach_timebase_info(numer: 0, denom: 0)
  mach_timebase_info(&info)
  return info
}()

// more or less copied from libdispatch/Source/time.c, _dispatch_timeout()

