<p dir="ltr"><br>
On Nov 13, 2014 9:54 AM, "John Lato" <<a href="mailto:jwlato@gmail.com">jwlato@gmail.com</a>> wrote:</p>
<p dir="ltr">><br>
> How about this: when is it correct for a cleanup handler to be interrupted by an async exception and drop its cleanup action into the void?  I am not sure that is ever correct, although I can see that it might be useful on rare occasions.</p>
<p dir="ltr">Example: you issue an RPC upon receipt of an exception (perhaps to some centralized exception logging service). That's safe to try if running under mask (maybe you're OK with the thread being killed and canceling the RPC), but not uninterruptible mask.<br></p>
<p dir="ltr">> Merijn pointed out that either a cleanup is not interruptible, in which case uninterruptibleMask doesn't change the semantics, or it is interruptible, in which case that's almost certainly a bug.  </p>
<p dir="ltr">Data please :-). The fact is that currently it is possible to use bracket for control flows that will be unsafe after the proposed change. Maybe nobody is actually relying on that, but until someone does an audit I don't think we should accept hand waving assertions like this one way or the other.</p>
<p dir="ltr">G</p>