Mike 4 месяцев назад
Родитель
Сommit
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,