Files |
file | lc-addrlabels.h |
file | lc-switch.h |
file | lc.h |
Defines |
#define | LC_INIT(s) s = NULL |
#define | LC_RESUME(s) |
#define | LC_SET(s) do { ({ __label__ resume; resume: (s) = &&resume; }); }while(0) |
#define | LC_END(s) |
#define | __LC_SWTICH_H__ |
#define | LC_INIT(s) s = 0; |
#define | LC_RESUME(s) switch(s) { case 0: |
#define | LC_SET(s) s = __LINE__; case __LINE__: |
#define | LC_END(s) } |
#define | __LC_H__ |
Typedefs |
typedef void * | lc_t |
typedef unsigned short | lc_t |
Detailed Description
Local continuations form the basis for implementing protothreads. A local continuation can be set in a specific function to capture the state of the function. After a local continuation has been set can be resumed in order to restore the state of the function at the point where the local continuation was set.
Define Documentation
Value:do { \
if(s != NULL) { \
goto *s; \
} \
} while(0)
Definition at line 69 of file lc-addrlabels.h.