정상 finally와 shutdown 스레드가 동시에 닫을 수 있어 단일 전환이 필요하다.
세션 업무가 끝나 close한다.
전체 종료로 close한다.
첫 호출만 Socket을 닫는다.
레지스트리에서 제거한다.
핵심: callback 실패는 별도 계측하되 자원 종료를 되돌리지 않는다.