Changeset 57fd66d


Ignore:
Timestamp:
Aug 9, 2023, 3:16:43 PM (9 months ago)
Author:
caparsons <caparson@…>
Branches:
master
Children:
3318dff
Parents:
7c2820e
Message:

exposed some exception routines to use for non local ehm in coroutines

Location:
libcfa/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/exception.c

    r7c2820e r57fd66d  
    123123
    124124// Creates a copy of the indicated exception and sets current_exception to it.
    125 static void __cfaehm_allocate_exception( exception_t * except ) {
     125void __cfaehm_allocate_exception( exception_t * except ) {
    126126        struct exception_context_t * context = this_exception_context();
    127127
     
    239239
    240240// The exception that is being thrown must already be stored.
    241 static void __cfaehm_begin_unwind(void(*defaultHandler)(exception_t *)) {
     241void __cfaehm_begin_unwind(void(*defaultHandler)(exception_t *)) {
    242242        struct exception_context_t * context = this_exception_context();
    243243        if ( NULL == context->current_exception ) {
  • libcfa/src/exception.h

    r7c2820e r57fd66d  
    5050void __cfaehm_rethrow_terminate() __attribute__((noreturn));
    5151void __cfaehm_throw_resume(exception_t * except, void (*)(exception_t *));
     52
     53// Used in non-local ehm (see coroutine.cfa)
     54void __cfaehm_allocate_exception( exception_t * except );
     55void __cfaehm_begin_unwind(void(*defaultHandler)(exception_t *));
     56
    5257
    5358// Function catches termination exceptions.
Note: See TracChangeset for help on using the changeset viewer.