interruptible acquisition의 취소 경로

owner가 lock을 보유한 동안 waiter를 안전하게 queue에서 제거한다.

  1. Waiter 시도

    lockInterruptibly를 호출한다

    WAITING
  2. Owner 유지

    임계 영역 불변식을 끝낸다

    locked
  3. Cancel signal

    waiter interrupt status를 설정한다

    request
  4. Exception

    미획득 outcome을 기록하고 종료한다

    no unlock

핵심: main이 lock을 풀기 전 waiter join이 끝나면 임계 영역을 실행하지 않았음을 확인할 수 있다.