Change the bit-mask of events associated with a previously-registered
        descriptor.

        :param fd:
            The descriptor to modify.
        :param eventmask:
            New bit-mask of events that will be monitored.
        :raises ValueError:
            If :meth:`closed()` is True
        :raises OSError:
            If the underlying ``epoll_ctl(2)`` fails. The error message matches
            those found in the manual page.

def modify(self, fd, eventmask):
        """
        Change the bit-mask of events associated with a previously-registered
        descriptor.

        :param fd:
            The descriptor to modify.
        :param eventmask:
            New bit-mask of events that will be monitored.
        :raises ValueError:
            If :meth:`closed()` is True
        :raises OSError:
            If the underlying ``epoll_ctl(2)`` fails. The error message matches
            those found in the manual page.
        """
        if self._epfd < 0:
            _err_closed()
        ev = epoll_event()
        ev.events = eventmask
        ev.data.fd = fd
        epoll_ctl(self._epfd, EPOLL_CTL_MOD, fd, byref(ev))