static PyObject* pyext_epoll_modify(PyObject *self,PyObject *args){ int epfd; int fd; uint32_t events; struct pyep_data *pyep; struct ev_header *evhdr; if(!PyArg_ParseTuple(args,"iiI",&epfd,&fd,&events)){ PyErr_BadArgument(); return NULL; } if((pyep = pyep_getby_epfd(epfd)) == NULL){ PyErr_SetString(PyExc_KeyError,"epoll file descriptor not found"); return NULL; } if((evhdr = evhdr_getby_fd(pyep->evhdr_ht,fd)) == NULL){ PyErr_SetString(PyExc_KeyError,"file descriptor not found"); return NULL; } if(ev_mod(&pyep->evdata,evhdr,events)){ PyErr_SetString(PyExc_SystemError,"modify event failed"); return NULL; } Py_INCREF(Py_None); return Py_None; }
LH_API void lh_ev_del(fd_t fd) { ev_mod(fd, 0); }
LH_API void lh_ev_add(fd_t fd, int events) { ev_mod(fd, events); }