- File:
-
- 1 edited
-
doc/working/exception/impl/exception.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
doc/working/exception/impl/exception.c
rc529a24 r35ba584c 44 44 __throw_terminate(except); 45 45 // 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 we50 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 ensure56 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 function66 void __try_resume_cleanup(struct __try_resume_node * node) {67 shared_stack.top_resume = node->next;68 46 } 69 47
Note:
See TracChangeset
for help on using the changeset viewer.