diff --git a/broker/http_broker.go b/broker/http_broker.go index 09b8aa0a..d135683c 100644 --- a/broker/http_broker.go +++ b/broker/http_broker.go @@ -183,8 +183,10 @@ func (h *httpBroker) run(l net.Listener) { h.Lock() var subscribers []*httpSubscriber for _, sub := range h.subscribers[subscriber.topic] { + // deregister and skip forward if sub.id == subscriber.id { h.r.Deregister(sub.svc) + continue } subscribers = append(subscribers, sub) }