From: Sergey Matveev Date: Wed, 4 Nov 2015 14:53:20 +0000 (+0300) Subject: If no states are kept, then clear an empty rooms X-Git-Tag: 1.3~2 X-Git-Url: http://www.git.cypherpunks.ru/?p=goircd.git;a=commitdiff_plain;h=a06713ebfdbd58c7ffbbcdfa95e9761e0861590b If no states are kept, then clear an empty rooms --- diff --git a/daemon.go b/daemon.go index 3afda4f..0896add 100644 --- a/daemon.go +++ b/daemon.go @@ -308,6 +308,14 @@ func Processor(events chan ClientEvent, finished chan struct{}) { } } } + 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}