Definition in file pt.h.
#include "sys/lc.h"
Go to the source code of this file.
Data Structures | |
struct | pt |
Initialization | |
#define | PT_INIT(pt) |
Initialize a protothread. | |
Declaration and definition | |
#define | PT_THREAD(name_args) |
Declaration of a protothread. | |
#define | PT_BEGIN(pt) |
Declare the start of a protothread inside the C function implementing the protothread. | |
#define | PT_END(pt) |
Declare the end of a protothread. | |
Blocked wait | |
#define | PT_WAIT_UNTIL(pt, condition) |
Block and wait until condition is true. | |
#define | PT_WAIT_WHILE(pt, cond) |
Block and wait while condition is true. | |
Hierarchical protothreads | |
#define | PT_WAIT_THREAD(pt, thread) |
Block and wait until a child protothread completes. | |
#define | PT_SPAWN(pt, child, thread) |
Spawn a child protothread and wait until it exits. | |
Exiting and restarting | |
#define | PT_RESTART(pt) |
Restart the protothread. | |
#define | PT_EXIT(pt) |
Exit the protothread. | |
Calling a protothread | |
#define | PT_SCHEDULE(f) |
Schedule a protothread. | |
Yielding from a protothread | |
#define | PT_YIELD(pt) |
Yield from the current protothread. | |
#define | PT_YIELD_UNTIL(pt, cond) |
Yield from the protothread until a condition occurs. | |
Defines | |
#define | PT_WAITING 0 |
#define | PT_EXITED 1 |
#define | PT_ENDED 2 |
#define | PT_YIELDED 3 |
|
Declare the start of a protothread inside the C function implementing the protothread. This macro is used to declare the starting point of a protothread. It should be placed at the start of the function in which the protothread runs. All C statements above the PT_BEGIN() invokation will be executed each time the protothread is scheduled.
Definition at line 115 of file pt.h. Referenced by PT_THREAD(). |
|
Declare the end of a protothread. This macro is used for declaring that a protothread ends. It must always be used together with a matching PT_BEGIN() macro.
Definition at line 127 of file pt.h. Referenced by PT_THREAD(). |
|
Exit the protothread. This macro causes the protothread to exit. If the protothread was spawned by another protothread, the parent protothread will become unblocked and can continue to run.
|
|
Initialize a protothread. Initializes a protothread. Initialization must be done prior to starting to execute the protothread.
Definition at line 80 of file pt.h. Referenced by process_start(), PT_THREAD(), and tr1001_init(). |
|
Restart the protothread. This macro will block and cause the running protothread to restart its execution at the place of the PT_BEGIN() call.
Definition at line 229 of file pt.h. Referenced by PT_THREAD(). |
|
Schedule a protothread. This function shedules a protothread. The return value of the function is non-zero if the protothread is running or zero if the protothread has exited.
|
|
Spawn a child protothread and wait until it exits. This macro spawns a child protothread and waits until it exits. The macro can only be used within a protothread.
|
|
Declaration of a protothread. This macro is used to declare a protothread. All protothreads must be declared with this macro.
|
|
Block and wait until a child protothread completes. This macro schedules a child protothread. The current protothread will block until the child protothread completes.
|
|
Block and wait until condition is true. This macro blocks the protothread until the specified condition is true.
Definition at line 148 of file pt.h. Referenced by PT_THREAD(). |
|
Block and wait while condition is true. This function blocks and waits while condition is true. See PT_WAIT_UNTIL().
Definition at line 167 of file pt.h. Referenced by PT_THREAD(). |
|
Yield from the current protothread. This function will yield the protothread, thereby allowing other processing to take place in the system.
Definition at line 290 of file pt.h. Referenced by PT_THREAD(). |
|
Yield from the protothread until a condition occurs.
|