Ignore:
Timestamp:
Jan 11, 2019, 10:54:41 AM (6 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
Children:
456834b
Parents:
f23b685
Message:

Implemented stack unwinding on coroutine termination

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/invoke.h

    rf23b685 r76e069f  
    8080
    8181        struct coroutine_desc {
    82                 struct coStack_t stack;                                                 // stack information of the coroutine
    83                 const char * name;                                                              // textual name for coroutine/task, initialized by uC++ generated code
    84                 int errno_;                                                                             // copy of global UNIX variable errno
    85                 enum coroutine_state state;                                             // current execution status for coroutine
    86                 struct coroutine_desc * starter;                                // first coroutine to resume this one
    87                 struct coroutine_desc * last;                                   // last coroutine to resume this one
     82                // stack information of the coroutine
     83                struct coStack_t stack;
     84
     85                // textual name for coroutine/task, initialized by uC++ generated code
     86                const char * name;
     87
     88                // copy of global UNIX variable errno
     89                int errno_;
     90
     91                // current execution status for coroutine
     92                enum coroutine_state state;
     93                // first coroutine to resume this one
     94                struct coroutine_desc * starter;
     95
     96                // last coroutine to resume this one
     97                struct coroutine_desc * last;
     98
     99                // If non-null stack must be unwound with this exception
     100                struct _Unwind_Exception * cancellation;
     101
    88102        };
    89103
Note: See TracChangeset for help on using the changeset viewer.