[Stackless-checkins] CVS: slpdev/src/2.2/src/Stackless/core stacklesseval.c, 1.145, 1.146

Christian Tismer tismer at centera.de
Sun May 2 03:53:06 CEST 2004


Update of /home/cvs/slpdev/src/2.2/src/Stackless/core
In directory centera.de:/tmp/cvs-serv2531/src/Stackless/core

Modified Files:
	stacklesseval.c 
Log Message:
simplified generator initialization

Index: stacklesseval.c
===================================================================
RCS file: /home/cvs/slpdev/src/2.2/src/Stackless/core/stacklesseval.c,v
retrieving revision 1.145
retrieving revision 1.146
diff -C2 -d -r1.145 -r1.146
*** stacklesseval.c	1 May 2004 19:01:49 -0000	1.145
--- stacklesseval.c	2 May 2004 01:53:04 -0000	1.146
***************
*** 395,426 ****
  static PyObject* gen_iternext_callback(PyFrameObject *f, PyObject *retval);
  
- DEF_INVALID_EXEC(gen_iternext_callback)
- 
- static int
- setup_iternext(PyFrameObject *f)
- {
- 	static int initialized = 0;
- 
- 	f->f_back = (PyFrameObject *)
- 		    slp_baseframe_new(gen_iternext_callback, 0,
- 				      GEN_CALLBACK_FRAME_SIZE);
- 	if (f->f_back == NULL) {
- 		return -1;
- 	}
- 	/* initialize pickling of running generators */
- 	if (!initialized) {
- 		if (slp_register_execute(
- 			    &PyBaseFrame_Type, "gen_iternext_callback", 
- 			    gen_iternext_callback,
- 			    REF_INVALID_EXEC(gen_iternext_callback)) ) {
- 			/* ignore reference, this is a very bad error */
- 			return -1;
- 		}
- 		initialized = 1;
- 	}
- 
- 	return 0;
- }
- 
  PyObject *
  slp_gen_iternext(PyObject *ob)
--- 395,398 ----
***************
*** 441,445 ****
  		return NULL;
  
! 	if (f->f_back == NULL && setup_iternext(f))
  		return NULL;
  	/* Generators always return to their most recent caller, not
--- 413,420 ----
  		return NULL;
  
! 	if (f->f_back == NULL &&
! 	    (f->f_back = (PyFrameObject *)
! 			 slp_baseframe_new(gen_iternext_callback, 0,
! 					   GEN_CALLBACK_FRAME_SIZE)) == NULL)
  		return NULL;
  	/* Generators always return to their most recent caller, not


_______________________________________________
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