code: def abort_io(self, iocb, err):
          
          if _debug: IOChainMixIn._debug("abort_io %r %r", iocb, err)
  
          # make sure we're being notified of an abort request from
          # the iocb we are chained from
          if iocb is not self.ioChain:
              raise RuntimeError("broken chain")
  
          # call my own Abort(), which may forward it to a controller or
          # be overridden by IOGroup
          self.abort(err)
docs: Forward the abort downstream.