MCPcopy Index your code
hub / github.com/python/cpython / modify

Method modify

Lib/selectors.py:361–383  ·  view source on GitHub ↗
(self, fileobj, events, data=None)

Source from the content-addressed store, hash-verified

359 return key
360
361 def modify(self, fileobj, events, data=None):
362 try:
363 key = self._fd_to_key[self._fileobj_lookup(fileobj)]
364 except KeyError:
365 raise KeyError(f"{fileobj!r} is not registered") from None
366
367 changed = False
368 if events != key.events:
369 selector_events = ((events & EVENT_READ and self._EVENT_READ)
370 | (events & EVENT_WRITE and self._EVENT_WRITE))
371 try:
372 self._selector.modify(key.fd, selector_events)
373 except:
374 super().unregister(fileobj)
375 raise
376 changed = True
377 if data != key.data:
378 changed = True
379
380 if changed:
381 key = key._replace(events=events, data=data)
382 self._fd_to_key[key.fd] = key
383 return key
384
385 def select(self, timeout=None):
386 # This is shared between poll() and epoll().

Callers

nothing calls this directly

Calls 5

superClass · 0.85
_fileobj_lookupMethod · 0.80
modifyMethod · 0.45
unregisterMethod · 0.45
_replaceMethod · 0.45

Tested by

no test coverage detected