[Stackless-checkins] CVS: slpdev/src/2.3/dev/Stackless/module scheduling.c, 1.100, 1.101 stacklessmodule.c, 1.174, 1.175
Christian Tismer
tismer at centera.de
Thu Jun 3 14:19:17 CEST 2004
- Previous message: [Stackless-checkins] CVS: slpdev/src/2.3/dev/Stackless/unittests runAll.py, 1.4, 1.5 test_miscell.py, 1.5, 1.6 test_pickle.py, 1.11, 1.12 test_watchdog.py, 1.7, 1.8
- Next message: [Stackless-checkins] CVS: slpdev/src/2.3/dev/Stackless/core stackless_impl.h, 1.90, 1.91
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /home/cvs/slpdev/src/2.3/dev/Stackless/module
In directory centera.de:/tmp/cvs-serv6338/Stackless/module
Modified Files:
scheduling.c stacklessmodule.c
Log Message:
enhancements to the tests: they all run soft and hard.
auto-scheduling now obeys schedlock.
scheduler callback can raise an error, now.
Index: scheduling.c
===================================================================
RCS file: /home/cvs/slpdev/src/2.3/dev/Stackless/module/scheduling.c,v
retrieving revision 1.100
retrieving revision 1.101
diff -C2 -d -r1.100 -r1.101
*** scheduling.c 2 Jun 2004 23:03:42 -0000 1.100
--- scheduling.c 3 Jun 2004 12:19:14 -0000 1.101
***************
*** 301,305 ****
/* scheduler monitoring */
! void
slp_schedule_callback(PyTaskletObject *prev, PyTaskletObject *next)
{
--- 301,305 ----
/* scheduler monitoring */
! int
slp_schedule_callback(PyTaskletObject *prev, PyTaskletObject *next)
{
***************
*** 323,339 ****
Py_XDECREF(ret);
Py_DECREF(args);
}
}
#define NOTIFY_SCHEDULE(prev, next, errflag) \
if (_slp_schedule_fasthook != NULL) { \
! if (ts->st.schedlock) \
RUNTIME_ERROR( \
"Recursive scheduler call due to callbacks!", \
errflag); \
! ts->st.schedlock = 1; \
! _slp_schedule_fasthook(prev, next); \
! ts->st.schedlock = 0; \
! }
static void
--- 323,346 ----
Py_XDECREF(ret);
Py_DECREF(args);
+ return ret ? 0 : -1;
}
+ else
+ return -1;
}
#define NOTIFY_SCHEDULE(prev, next, errflag) \
if (_slp_schedule_fasthook != NULL) { \
! int ret; \
! if (ts->st.schedlock) { \
! { __asm int 3} \
RUNTIME_ERROR( \
"Recursive scheduler call due to callbacks!", \
errflag); \
! } \
! ts->st.schedlock = 1; \
! ret = _slp_schedule_fasthook(prev, next); \
! ts->st.schedlock = 0; \
! if (ret) return errflag; \
! }
static void
Index: stacklessmodule.c
===================================================================
RCS file: /home/cvs/slpdev/src/2.3/dev/Stackless/module/stacklessmodule.c,v
retrieving revision 1.174
retrieving revision 1.175
diff -C2 -d -r1.174 -r1.175
*** stacklessmodule.c 2 Jun 2004 23:03:42 -0000 1.174
--- stacklessmodule.c 3 Jun 2004 12:19:14 -0000 1.175
***************
*** 189,193 ****
* if nesting_level is relevant
*/
! if (current->flags.atomic ||
( ts->st.nesting_level && !current->flags.ignore_nesting ) ) {
ts->st.ticker = ts->st.interval;
--- 189,193 ----
* if nesting_level is relevant
*/
! if (current->flags.atomic || ts->st.schedlock ||
( ts->st.nesting_level && !current->flags.ignore_nesting ) ) {
ts->st.ticker = ts->st.interval;
_______________________________________________
Stackless-checkins mailing list
Stackless-checkins at stackless.com
http://www.stackless.com/mailman/listinfo/stackless-checkins
- Previous message: [Stackless-checkins] CVS: slpdev/src/2.3/dev/Stackless/unittests runAll.py, 1.4, 1.5 test_miscell.py, 1.5, 1.6 test_pickle.py, 1.11, 1.12 test_watchdog.py, 1.7, 1.8
- Next message: [Stackless-checkins] CVS: slpdev/src/2.3/dev/Stackless/core stackless_impl.h, 1.90, 1.91
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Stackless-checkins
mailing list