daemon.go | 8 ++++++++ diff --git a/daemon.go b/daemon.go index ed064998f3c57eda5e2c0e71a92540b56b9839153b6aa8b982e2ef7bc6aedf67..f1c7aac1b2746008330cdba124c7ad715c98b3b0e8b6ffc6c669c4deb9fbb293 100644 --- a/daemon.go +++ b/daemon.go @@ -308,6 +308,14 @@ c.Close() } } } + for rn, r := range rooms { + if *statedir == "" && len(r.members) == 0 { + log.Println(rn, "emptied room") + delete(rooms, rn) + close(roomSinks[r]) + delete(roomSinks, r) + } + } case EventTerm: for _, sink := range roomSinks { sink <- ClientEvent{eventType: EventTerm}