MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / modify

Method modify

tools/python-3.11.9-amd64/Lib/selectors.py:375–400  ·  view source on GitHub ↗
(self, fileobj, events, data=None)

Source from the content-addressed store, hash-verified

373 return key
374
375 def modify(self, fileobj, events, data=None):
376 try:
377 key = self._fd_to_key[self._fileobj_lookup(fileobj)]
378 except KeyError:
379 raise KeyError(f"{fileobj!r} is not registered") from None
380
381 changed = False
382 if events != key.events:
383 selector_events = 0
384 if events & EVENT_READ:
385 selector_events |= self._EVENT_READ
386 if events & EVENT_WRITE:
387 selector_events |= self._EVENT_WRITE
388 try:
389 self._selector.modify(key.fd, selector_events)
390 except:
391 super().unregister(fileobj)
392 raise
393 changed = True
394 if data != key.data:
395 changed = True
396
397 if changed:
398 key = key._replace(events=events, data=data)
399 self._fd_to_key[key.fd] = key
400 return key
401
402 def select(self, timeout=None):
403 # This is shared between poll() and epoll().

Callers

nothing calls this directly

Calls 3

_fileobj_lookupMethod · 0.80
modifyMethod · 0.45
unregisterMethod · 0.45

Tested by

no test coverage detected