Files | |
file | pt.h |
Protothreads implementation. | |
Modules | |
group | Protothread semaphores |
group | Local continuations |
Defines | |
#define | PT_THREAD(name_args) |
Declaration of a protothread. | |
#define | PT_INIT(pt) |
Initialize a protothread. | |
#define | PT_BEGIN(pt) |
Declare the start of a protothread inside the C function implementing the protothread. | |
#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. | |
#define | PT_WAIT_THREAD(pt, thread) |
Block and wait until a child protothread completes. | |
#define | PT_SPAWN(pt, thread) |
Spawn a child protothread and wait until it exits. | |
#define | PT_RESTART(pt) |
Restart the protothread. | |
#define | PT_EXIT(pt) |
Exit the protothread. | |
#define | PT_END(pt) |
Declare the end of a protothread. | |
#define | PT_SCHEDULE(f) |
Schedule a protothread. |
|
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.
|
|
Declare the end of a protothread. This macro is used for declaring that a protothread ends. It should always be used together with a matching PT_BEGIN() macro.
|
|
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.
|
|
Restart the protothread. This macro will block and cause the running protothread to restart its execution at the place of the PT_BEGIN() call.
|
|
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. Example
|
|
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. Example:
|
|
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.
|
|
Block and wait while condition is true. This function blocks and waits while condition is true. See PT_WAIT_UNTIL().
|