Changeset c529a24 for doc/working/exception/impl/exception.c
- Timestamp:
- Jun 16, 2017, 4:36:00 PM (6 years ago)
- Branches:
- aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 365d553c
- Parents:
- 0892b1b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/working/exception/impl/exception.c
r0892b1b rc529a24 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 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; 46 68 } 47 69
Note: See TracChangeset
for help on using the changeset viewer.