On Thu, Jul 18, 2013 at 5:40 PM, David Daney <[email protected]> wrote: > On 07/18/2013 05:26 PM, Andy Lutomirski wrote: >> >> Windows has a feature that I've wanted on Linux forever: stack-based >> (i.e. scoped) exception handling. The upshot is that you can do, >> roughly, this (pseudocode): >> >> int callback(...) >> { >> /* Called if code_that_may_fault faults. May return "unwind to >> landing pad", "propagate the fault", or "fixup and retry" */ >> } >> >> void my_function() >> { >> __hideous_try_thing(callback) { >> code_that_may_fault(); >> } blahblahblah { >> landing_pad_code(); >> } >> } > > > How is this different than throwing exceptions from a signal handler?
Two ways. First, exceptions thrown from a signal handler can't be retries. Second, and more importantly, installing a signal handler in a library is a terrible idea. --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

