This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: catch(...) and forced unwind


>The only thing that would work is
>
>  void __rethrow_cancellation() { }
>
>and then do something like
>
>  if (get_cancelation_handler() == __rethrow_cancellation)
>    _Unwind_Resume (current_exception);
>
>in __cxa_end_catch.  Which seems kinda gross to me.

Huh! So, it is possible.

Maybe this is gross to you, but this is pretty much the way the
terminate handler works.

FWIW, I don't think this is too bad, and at least it gives people options.

>Keep in mind that __cancel_cancellation WILL NOT WORK without help from
>and buy-in from the pthread library.  Which does not currently exist.

Perhaps you mean __continue_cancellation? What's needed from the
pthreads library to make this work?

-benjamin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]