From aefa8a93415c895ca5cbbdf4a6de696a8edde405 Mon Sep 17 00:00:00 2001 From: Duco van Amstel Date: Tue, 23 Apr 2019 22:08:34 +0100 Subject: [PATCH] Add lacking clean-up in Slack synchronisation (#811) --- bridge/slack/users_channels.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bridge/slack/users_channels.go b/bridge/slack/users_channels.go index 23807c8d..ce14e509 100644 --- a/bridge/slack/users_channels.go +++ b/bridge/slack/users_channels.go @@ -87,6 +87,11 @@ func (b *users) populateUser(userID string) { // in case the previous query failed for some reason. } else { b.usersSyncPoints[userID] = make(chan struct{}) + defer func() { + // Wake up any waiting goroutines and remove the synchronization point. + close(b.usersSyncPoints[userID]) + delete(b.usersSyncPoints, userID) + }() break } } @@ -106,10 +111,6 @@ func (b *users) populateUser(userID string) { // Register user information. b.users[userID] = user - - // Wake up any waiting goroutines and remove the synchronization point. - close(b.usersSyncPoints[userID]) - delete(b.usersSyncPoints, userID) } func (b *users) populateUsers(wait bool) {