| parrotcode: The concurrency scheduler | |
| Contents | PMCs |

src/pmc/scheduler.pmc - The concurrency scheduler

Implements the core concurrency scheduler.

void init()void init_pmc(PMC *data)Hash PMC with any or all of the keys:idInteger representing the unique identifier for this scheduler. VTABLE void init_pmc(PMC *data) {
PMC *elem;
Parrot_Scheduler *core_struct;
if (! VTABLE_isa(INTERP, data, CONST_STRING(INTERP, "Hash")))
real_exception(INTERP, NULL, INVALID_OPERATION,
"Scheduler initializer must be a Hash");
SELF.init();
core_struct = PARROT_SCHEDULER(SELF);
elem = VTABLE_get_pmc_keyed_str(INTERP, data, CONST_STRING(INTERP, "id"));
if (! PMC_IS_NULL(elem))
core_struct->id = VTABLE_get_integer(INTERP, elem);
}
void push_pmc(PMC *value)PMC *pop_pmc()INTVAL get_integer()void delete_keyed_int(INTVAL key)PMC *share_ro()void destroy()void mark()void visit(visit_info *info)*info is the visit info, (see include/parrot/pmc_freeze.h).void freeze(visit_info *info)void thaw(visit_info *info)void thawfinish(visit_info *info)
METHOD add_handler(PMC *handler)METHOD find_handler(PMC *task)
|
|
|