Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/working/exception/impl/exception.c

    rc529a24 r35ba584c  
    4444        __throw_terminate(except);
    4545        // TODO: Default handler for resumption.
    46 }
    47 
    48 /* QUESTION: Could interupts interact with exception handling?
    49 Ex. could an context switch stop execution, and we get an exception when we
    50 come back? Is so resumption has to go:
    51 + create node (init next and handler)
    52 + prepare cleanup (add a cleanup hook with the ..._cleaup function)
    53   also the cleanup has to be the next node, not just a pop from the list.
    54 + push node on the list (change the existing node)
    55 Which if an exception can come from anywhere, might just be required to ensure
    56 the list is valid.
    57 
    58 void __try_resume_setup(struct __try_resume_node * node,
    59                         bool (*handler)(exception except) {
    60         node->next = shared_stack.top_resume;
    61         node->try_to_handle = handler;
    62         shared_stack.top_resume = node;
    63 }*/
    64 
    65 // We have a single cleanup function
    66 void __try_resume_cleanup(struct __try_resume_node * node) {
    67         shared_stack.top_resume = node->next;
    6846}
    6947
Note: See TracChangeset for help on using the changeset viewer.