anchor.diff:  
     // Creates a receive port and registers an empty handler on that port. Just
     // the triggering of the event loop will ensure that timers are executed.
  -  static _ignoreMessage(_) => null;
  +  static _ignoreMessage(_) {
  +    _messagePending = false;
  +  }
   
     static void _createTimerHandler() {
       assert(_receivePort == null);
       _receivePort = new RawReceivePort(_ignoreMessage);
       _sendPort = _receivePort.sendPort;
       _scheduledWakeupTime = null;
  +    _messagePending = false;
     }
   
     static void _shutdownTimerHandler() {
  
positive.code:         _createTimerHandler();
        }
        if (_firstZeroTimer != null) {
          _sendPort.send(null);
        } else {
          var wakeupTime = _heap.first._wakeupTime;
          if ((_scheduledWakeupTime == null) ||
  
negative.code:     _receivePort = null;
      _sendPort = null;
      _scheduledWakeupTime = null;
      _messagePending = false;
    }
  
    // The Timer factory registered with the dart:async library by the embedder.
  