                 self.rejectCallbacks.removeAll(keepCapacity: false)
             }
         }
+        dispatch_semaphore_signal(self.mutex)
     }
 }
 


        switch self.state {
        case .Pending:
            performSync {
                self.fulfillCallbacks.append(onFulfilledAsync)
            }
        case .Fulfilled(let value):
            onFulfilledAsync(value)
        case .Rejected(_):


        switch self.state {
        case .Pending:
            self.fulfillCallbacks.append(onFulfilledAsync)
        case .Fulfilled(let value):
            onFulfilledAsync(value)
        case .Rejected(_):
