 
     @pendingComputations = []
     @willFlush = false
-    @inFlush = false
+    @inFlush = null
+    @inRequireFlush = false
     @inCompute = false
     @throwFirstError = false
     @afterFlushCallbacks = []

Fiber = Npm.require 'fibers'

# Tracker.Computation constructor is private, so we are using this object as a guard.
# External code cannot access this, and will not be able to directly construct a


      finishedTry = true
    finally
      # We first have to set @inFlush to null, then we can return.

      inFlush = @inFlush
      unless finishedTry
        @inFlush = null
        inFlush.return() if inFlush instanceof Future
        @_runFlush
          finishSynchronously: options?.finishSynchronously
          throwFirstError: false

      @willFlush = false
      @inFlush = null
      inFlush.return() if inFlush instanceof Future
      if @pendingComputations.length or @afterFlushCallbacks.length
        throw new Error "still have more to do?" if options?.finishSynchronously
        Meteor.setTimeout =>
