+ for (int i = nativecount; i < fdcount; ++i)
+ {
+ if (pfd[i].revents)
+ {
+ if (!*res)
+ *res = PyList_New(0);
+ PyObject *it = PyTuple_New(2);
+ PyTuple_SET_ITEM(it, 0, PyInt_FromLong(pfd[i].fd));
+ PyTuple_SET_ITEM(it, 1, PyInt_FromLong(pfd[i].revents));
+ PyList_Append(*res, it);
+ Py_DECREF(it);
+ }
+ }
+
+ ret = 1; /* poll did not timeout. */
+ } else if (ret < 0)
+ {
+ /* when we got a signal, we get EINTR. */
+ if (errno != EINTR)
+ eDebug("poll made error (%m)");
+ else