X-Git-Url: http://www.git.cypherpunks.ru/?p=goircd.git;a=blobdiff_plain;f=daemon.go;h=0896add8c5b00539b6a4d454c5d1664a8dde773e;hp=3afda4fb0a3d8b69897e8e160cf09e4c77af6ab4;hb=a06713ebfdbd58c7ffbbcdfa95e9761e0861590b;hpb=1c14ece74f6763d5794d1c89cbd18b05bc23bdcc 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}