diff --git a/wshandler/wshandler.go b/wshandler/wshandler.go index 8e838ac..5ff3be0 100644 --- a/wshandler/wshandler.go +++ b/wshandler/wshandler.go @@ -339,7 +339,7 @@ func (sh *subhandler) mainLoop(ctx context.Context) { room = makeRoom(name, roomDestroyChan) rooms[name] = room room.start(ctx) - sh.callReceiver.OnRoomCreated(sh.region, name) + go sh.callReceiver.OnRoomCreated(sh.region, name) } return room } @@ -352,7 +352,7 @@ func (sh *subhandler) mainLoop(ctx context.Context) { select { case destroyedRoom := <-roomDestroyChan: delete(rooms, destroyedRoom) - sh.callReceiver.OnRoomDestroyed(sh.region, destroyedRoom) + go sh.callReceiver.OnRoomDestroyed(sh.region, destroyedRoom) case usermsg := <-sh.localDeliveryChan: // 로컬에 connection이 있는지 먼저 확인해 보기 위한 채널 @@ -475,10 +475,10 @@ func (sh *subhandler) mainLoop(ctx context.Context) { room.out(c) } c.joinedRooms = nil - sh.callReceiver.OnClientMessageReceived(c.sender, Disconnected, nil) + go sh.callReceiver.OnClientMessageReceived(c.sender, Disconnected, nil) } else { entireConns[c.sender.Accid.Hex()] = c - sh.callReceiver.OnClientMessageReceived(c.sender, Connected, nil) + go sh.callReceiver.OnClientMessageReceived(c.sender, Connected, nil) } } }