[Stackless-checkins] CVS: slpdev/src/2.3/dev/Stackless/module channelobject.c, 1.53, 1.54

Christian Tismer tismer at centera.de
Fri Jul 9 18:52:36 CEST 2004


Update of /home/cvs/slpdev/src/2.3/dev/Stackless/module
In directory centera.de:/tmp/cvs-serv12368

Modified Files:
	channelobject.c 
Log Message:
channel iterators and sequence sending are ready.
Slight speed improvement over direct receive/send,
but much less than I hoped.

Index: channelobject.c
===================================================================
RCS file: /home/cvs/slpdev/src/2.3/dev/Stackless/module/channelobject.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -C2 -d -r1.53 -r1.54
*** channelobject.c	9 Jul 2004 12:35:52 -0000	1.53
--- channelobject.c	9 Jul 2004 16:52:24 -0000	1.54
***************
*** 778,786 ****
  		STACKLESS_PROPOSE_ALL();
  		item = PyIter_Next(f->ob1);
! 		if (item == NULL) {
! 			if (PyErr_Occurred())
! 				goto exit_frame;
! 			break;
! 		}
  		if (STACKLESS_UNWINDING(item)) {
  			stage = f->n = 1;
--- 778,782 ----
  		STACKLESS_PROPOSE_ALL();
  		item = PyIter_Next(f->ob1);
! 
  		if (STACKLESS_UNWINDING(item)) {
  			stage = f->n = 1;
***************
*** 789,792 ****
--- 785,799 ----
  
  back_with_data:
+ 		if (item == NULL) {
+ 			if (PyErr_Occurred()) {
+ 				if (PyErr_ExceptionMatches(
+ 					PyExc_StopIteration))
+ 					PyErr_Clear();
+ 				else
+ 					goto exit_frame;
+ 			}
+ 			break;
+ 		}
+ 
  		/* send the data */
  		ch = (PyChannelObject *) f->ob2;


_______________________________________________
Stackless-checkins mailing list
Stackless-checkins at stackless.com
http://www.stackless.com/mailman/listinfo/stackless-checkins



More information about the Stackless-checkins mailing list