Mike 4 달 전
부모
커밋
382c2d7c85
1개의 변경된 파일4개의 추가작업 그리고 4개의 파일을 삭제
  1. 4 4
      state/session.go

+ 4 - 4
state/session.go

@@ -1095,8 +1095,11 @@ func (s *SessionInstance) CloseInstance() {
 	onInstanceCloseFn := s.onInstanceCloseFn
 	s.mutex.Unlock()
 
+	// remove the instance now so that the function has an updated view of the world
+	s.session.RemoveInstance(s)
+
 	count := s.session.InstanceCount()
-	if count == 1 {
+	if count == 0 {
 		s.session.mutex.RLock()
 		onSessCloseFn := s.session.onSessCloseFn
 		s.session.mutex.RUnlock()
@@ -1104,9 +1107,6 @@ func (s *SessionInstance) CloseInstance() {
 	} else {
 		onInstanceCloseFn()
 	}
-
-	s.session.RemoveInstance(s)
-
 }
 
 // OnClose registers a function to be called when the instance closes,