bpo-28667: Fix a compile warning on FreeBSD when compare with FD_SETSIZE. (#501)
FreeBSD is the only platforms with unsigned FD_SETSIZE.
This commit is contained in:
parent
bc44f045e6
commit
783d0c1a1c
|
@ -39,7 +39,7 @@ PyAPI_DATA(PyTypeObject) PyStdPrinter_Type;
|
|||
|
||||
/* A routine to check if a file descriptor can be select()-ed. */
|
||||
#ifdef HAVE_SELECT
|
||||
#define _PyIsSelectable_fd(FD) (((FD) >= 0) && ((FD) < FD_SETSIZE))
|
||||
#define _PyIsSelectable_fd(FD) ((unsigned int)(FD) < (unsigned int)FD_SETSIZE)
|
||||
#else
|
||||
#define _PyIsSelectable_fd(FD) (1)
|
||||
#endif /* HAVE_SELECT */
|
||||
|
|
|
@ -68,8 +68,8 @@ typedef struct {
|
|||
static void
|
||||
reap_obj(pylist fd2obj[FD_SETSIZE + 1])
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < FD_SETSIZE + 1 && fd2obj[i].sentinel >= 0; i++) {
|
||||
unsigned int i;
|
||||
for (i = 0; i < (unsigned int)FD_SETSIZE + 1 && fd2obj[i].sentinel >= 0; i++) {
|
||||
Py_CLEAR(fd2obj[i].obj);
|
||||
}
|
||||
fd2obj[0].sentinel = -1;
|
||||
|
@ -83,7 +83,7 @@ static int
|
|||
seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1])
|
||||
{
|
||||
int max = -1;
|
||||
int index = 0;
|
||||
unsigned int index = 0;
|
||||
Py_ssize_t i;
|
||||
PyObject* fast_seq = NULL;
|
||||
PyObject* o = NULL;
|
||||
|
@ -120,7 +120,7 @@ seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1])
|
|||
FD_SET(v, set);
|
||||
|
||||
/* add object and its file descriptor to the list */
|
||||
if (index >= FD_SETSIZE) {
|
||||
if (index >= (unsigned int)FD_SETSIZE) {
|
||||
PyErr_SetString(PyExc_ValueError,
|
||||
"too many file descriptors in select()");
|
||||
goto finally;
|
||||
|
|
Loading…
Reference in New Issue