Project

General

Profile

Download (887 Bytes) Statistics
| Branch: | Tag: | Revision:
/**
* Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
*
* Licensed under the Universal Permissive License v 1.0 as shown at
* http://oss.oracle.com/licenses/upl
*
*/
#ifndef SCHED_H
#define SCHED_H
#include <stddef.h>

struct frame;

typedef struct frame *(*continuation_t)(struct frame *frame, void *app_frame);
typedef void (*inlet_t)(void *parent_app_frame, size_t result);

struct frame * sched_spawn(struct frame *parent,
continuation_t parent_cont,
void *sub_app_frame,
inlet_t return_inlet);

struct frame *sched_sync(struct frame *node,
continuation_t cont);

struct frame *sched_return(struct frame *node, size_t result);

size_t prun(size_t n_workers, continuation_t fun, void *arg);

typedef const char *magic_t;

#endif
(19-19/29)