Lines Matching defs:self

195 select_select(PyObject *self, PyObject *args)

340 update_ufd_array(pollObject *self)
344 struct pollfd *old_ufds = self->ufds;
346 self->ufd_len = PyDict_Size(self->dict);
347 PyMem_RESIZE(self->ufds, struct pollfd, self->ufd_len);
348 if (self->ufds == NULL) {
349 self->ufds = old_ufds;
355 while (PyDict_Next(self->dict, &pos, &key, &value)) {
356 self->ufds[i].fd = PyInt_AsLong(key);
357 self->ufds[i].events = (short)PyInt_AsLong(value);
360 self->ufd_uptodate = 1;
372 poll_register(pollObject *self, PyObject *args)
395 err = PyDict_SetItem(self->dict, key, value);
401 self->ufd_uptodate = 0;
415 poll_modify(pollObject *self, PyObject *args)
432 if (PyDict_GetItem(self->dict, key) == NULL) {
442 err = PyDict_SetItem(self->dict, key, value);
448 self->ufd_uptodate = 0;
460 poll_unregister(pollObject *self, PyObject *o)
474 if (PyDict_DelItem(self->dict, key) == -1) {
482 self->ufd_uptodate = 0;
494 poll_poll(pollObject *self, PyObject *args)
523 if (!self->ufd_uptodate)
524 if (update_ufd_array(self) == 0)
529 poll_result = poll(self->ufds, self->ufd_len, timeout);
545 while (!self->ufds[i].revents) {
554 num = PyInt_FromLong(self->ufds[i].fd);
565 num = PyInt_FromLong(self->ufds[i].revents & 0xffff);
600 pollObject *self;
601 self = PyObject_New(pollObject, &poll_Type);
602 if (self == NULL)
606 self->ufd_uptodate = 0;
607 self->ufds = NULL;
608 self->dict = PyDict_New();
609 if (self->dict == NULL) {
610 Py_DECREF(self);
613 return self;
617 poll_dealloc(pollObject *self)
619 if (self->ufds != NULL)
620 PyMem_DEL(self->ufds);
621 Py_XDECREF(self->dict);
622 PyObject_Del(self);
626 poll_getattr(pollObject *self, char *name)
628 return Py_FindMethod(poll_methods, (PyObject *)self, name);
656 select_poll(PyObject *self, PyObject *unused)
721 pyepoll_internal_close(pyEpoll_Object *self)
724 if (self->epfd >= 0) {
725 int epfd = self->epfd;
726 self->epfd = -1;
738 pyEpoll_Object *self;
751 self = (pyEpoll_Object *) type->tp_alloc(type, 0);
752 if (self == NULL)
757 self->epfd = epoll_create(sizehint);
761 self->epfd = fd;
763 if (self->epfd < 0) {
764 Py_DECREF(self);
768 return (PyObject *)self;
787 pyepoll_dealloc(pyEpoll_Object *self)
789 (void)pyepoll_internal_close(self);
790 Py_TYPE(self)->tp_free(self);
794 pyepoll_close(pyEpoll_Object *self)
796 errno = pyepoll_internal_close(self);
811 pyepoll_get_closed(pyEpoll_Object *self)
813 if (self->epfd < 0)
820 pyepoll_fileno(pyEpoll_Object *self)
822 if (self->epfd < 0)
824 return PyInt_FromLong(self->epfd);
898 pyepoll_register(pyEpoll_Object *self, PyObject *args, PyObject *kwds)
909 return pyepoll_internal_ctl(self->epfd, EPOLL_CTL_ADD, pfd, events);
923 pyepoll_modify(pyEpoll_Object *self, PyObject *args, PyObject *kwds)
934 return pyepoll_internal_ctl(self->epfd, EPOLL_CTL_MOD, pfd, events);
944 pyepoll_unregister(pyEpoll_Object *self, PyObject *args, PyObject *kwds)
954 return pyepoll_internal_ctl(self->epfd, EPOLL_CTL_DEL, pfd, 0);
963 pyepoll_poll(pyEpoll_Object *self, PyObject *args, PyObject *kwds)
973 if (self->epfd < 0)
1005 Py_DECREF(self);
1011 nfds = epoll_wait(self->epfd, evs, maxevents, timeout);
1244 kqueue_event_init(kqueue_event_Object *self, PyObject *args, PyObject *kwds)
1251 EV_SET(&(self->e), 0, EVFILT_READ, EV_ADD, 0, 0, 0); /* defaults */
1254 &pfd, &(self->e.filter), &(self->e.flags),
1255 &(self->e.fflags), &(self->e.data), &(self->e.udata))) {
1260 self->e.ident = PyLong_AsUintptr_t(pfd);
1263 self->e.ident = PyObject_AsFileDescriptor(pfd);
1371 kqueue_queue_internal_close(kqueue_queue_Object *self)
1374 if (self->kqfd >= 0) {
1375 int kqfd = self->kqfd;
1376 self->kqfd = -1;
1388 kqueue_queue_Object *self;
1390 self = (kqueue_queue_Object *) type->tp_alloc(type, 0);
1391 if (self == NULL) {
1397 self->kqfd = kqueue();
1401 self->kqfd = fd;
1403 if (self->kqfd < 0) {
1404 Py_DECREF(self);
1408 return (PyObject *)self;
1426 kqueue_queue_dealloc(kqueue_queue_Object *self)
1428 kqueue_queue_internal_close(self);
1429 Py_TYPE(self)->tp_free(self);
1433 kqueue_queue_close(kqueue_queue_Object *self)
1435 errno = kqueue_queue_internal_close(self);
1450 kqueue_queue_get_closed(kqueue_queue_Object *self)
1452 if (self->kqfd < 0)
1459 kqueue_queue_fileno(kqueue_queue_Object *self)
1461 if (self->kqfd < 0)
1463 return PyInt_FromLong(self->kqfd);
1488 kqueue_queue_control(kqueue_queue_Object *self, PyObject *args)
1503 if (self->kqfd < 0)
1594 gotevents = kevent(self->kqfd, chl, nchanges,