code: def _handle_readable(self, f):
          
          count = -1
          if isinstance(f, tuple):
              f, count = f
          handler = self._reads.pop(f, None)
          if handler is not None:
              handler(self, f, count=count)
docs: because anonymous pipes in windows can be blocked, we need to pay attention
          on how much we read