anchor.diff:          if (i == DESTROYED_EVENT) {
             assert(!isClosed);
             isClosed = true;
  -          closeCompleter.complete(this);
  +          closeCompleter.complete();
             disconnectFromEventHandler();
             if (handler != null) handler();
             continue;
  
positive.code:         _controller.add(RawSocketEvent.WRITE);
        },
        closed: () => _controller.add(RawSocketEvent.READ_CLOSED),
        destroyed: () => _controller.add(RawSocketEvent.CLOSED),
        error: zone.bindUnaryCallback((e) {
          _controller.addError(e);
          close();
        })
      );
    }
  
negative.code:   bool isClosing = false;
    bool isClosedRead = false;
    bool isClosedWrite = false;
    Completer closeCompleter = new Completer.sync();
  
    // Handlers and receive port for socket events from the event handler.
    int eventMask = 0;
  