Esempio n. 1
0
File: pyext.c Progetto: pzread/sdup
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;
}
Esempio n. 2
0
LH_API void lh_ev_del(fd_t fd)
{
	ev_mod(fd, 0);
}
Esempio n. 3
0
LH_API void lh_ev_add(fd_t fd, int events)
{
	ev_mod(fd, events);
}