[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