The cancellation process can be aborted by catching the
RWCancellation exception object before it can propagate back into the runnable. When the cancellation object is destroyed, it automatically notifies the current runnable that the cancellation process has been aborted. The abort notification causes the runnable to enter the
RW_THR_ABORTING state and the
RW_THR_RUNNING state. The
RW_THR_ABORTING state is used to signal any waiting threads that the cancellation process was aborted.