diff Modules/selectmodule.c @ 55266:69a04dbd5f0a legacy-trunk

#5910: fix kqueue for calls with more than one event.
author Georg Brandl <georg@python.org>
date Thu, 16 Jul 2009 07:18:07 +0000
parents 5609352fea12
children 068f9430cc24
line wrap: on
line diff
--- a/Modules/selectmodule.c	Wed Jul 15 21:29:27 2009 +0000
+++ b/Modules/selectmodule.c	Thu Jul 16 07:18:07 2009 +0000
@@ -1487,7 +1487,7 @@
 	if (nevents < 0) {
 		PyErr_Format(PyExc_ValueError,
 			"Length of eventlist must be 0 or positive, got %d",
-			nchanges);
+			nevents);
 		return NULL;
 	}
 
@@ -1545,6 +1545,7 @@
 			PyErr_NoMemory();
 			return NULL;
 		}
+		i = 0;
 		while ((ei = PyIter_Next(it)) != NULL) {
 			if (!kqueue_event_Check(ei)) {
 				Py_DECREF(ei);
@@ -1553,7 +1554,7 @@
 				 	"select.kevent objects");
 				goto error;
 			} else {
-				chl[i] = ((kqueue_event_Object *)ei)->e;
+				chl[i++] = ((kqueue_event_Object *)ei)->e;
 			}
 			Py_DECREF(ei);
 		}
@@ -1584,7 +1585,7 @@
 		goto error;
 	}
 
-	for (i=0; i < gotevents; i++) {
+	for (i = 0; i < gotevents; i++) {
 		kqueue_event_Object *ch;
 
 		ch = PyObject_New(kqueue_event_Object, &kqueue_event_Type);