to one of the 'catch' family of functions. This is because that is
what you want most of the time - it eliminates a common race condition
in starting an exception handler, because there may be no exception
to one of the 'catch' family of functions. This is because that is
what you want most of the time - it eliminates a common race condition
in starting an exception handler, because there may be no exception
If you need to unblock asynchronous exceptions again in the exception
handler, just use 'unblock' as normal.
If you need to unblock asynchronous exceptions again in the exception
handler, just use 'unblock' as normal.
Some operations are /interruptible/, which means that they can receive
asynchronous exceptions even in the scope of a 'block'. Any function
which may itself block is defined as interruptible; this includes
Some operations are /interruptible/, which means that they can receive
asynchronous exceptions even in the scope of a 'block'. Any function
which may itself block is defined as interruptible; this includes
some I\/O with the outside world. The reason for having
interruptible operations is so that we can write things like
some I\/O with the outside world. The reason for having
interruptible operations is so that we can write things like