[Bug #923315] Produce correct result on AIX

This commit is contained in:
Andrew M. Kuchling 2004-08-07 17:21:27 +00:00
parent b6d9fc38e8
commit e5dd162a07

View file

@ -511,7 +511,11 @@ poll_poll(pollObject *self, PyObject *args)
}
PyTuple_SET_ITEM(value, 0, num);
num = PyInt_FromLong(self->ufds[i].revents);
/* The &0xffff is a workaround for AIX. 'revents'
is a 16-bit short, and IBM assigned POLLNVAL
to be 0x8000, so the conversion to int results
in a negative number. See SF bug #923315. */
num = PyInt_FromLong(self->ufds[i].revents & 0xffff);
if (num == NULL) {
Py_DECREF(value);
goto error;