세션 close 경쟁은 한 번의 상태 전이로 정리 콜백을 보호한다

정상 종료·서버 shutdown·I/O 실패가 동시에 close를 호출할 수 있습니다.

  1. 1

    close request

    여러 원인

  2. 2

    CAS OPEN→CLOSED

    한 호출만 성공

  3. 3

    socket close

    블로킹 지점 해제

  4. 4

    onClosed

    registry 제거

  5. 5

    repeat

    no-op

핵심: 첫 호출만 Socket을 닫고 registry 제거를 수행하며 이후 호출은 같은 결과로 끝납니다.