From 63d29af2b35dd33b6bed1362c51af1dffe66dbaa Mon Sep 17 00:00:00 2001
From: "Richard T. Carback III" <rick.carback@gmail.com>
Date: Fri, 1 Apr 2022 22:14:17 +0000
Subject: [PATCH] Don't call the unlock and external lookup callback in defers,
 instead call them inline

---
 xxmutils/restoreContacts.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xxmutils/restoreContacts.go b/xxmutils/restoreContacts.go
index 4c7a9d119..f5b6f1a97 100644
--- a/xxmutils/restoreContacts.go
+++ b/xxmutils/restoreContacts.go
@@ -232,12 +232,12 @@ func LookupContact(userID *id.ID, udManager *ud.Manager,
 	var result *contact.Contact
 	var err error
 	lookupCB := func(c contact.Contact, myErr error) {
-		defer waiter.Unlock()
-		defer extLookupCB(c, myErr)
 		if myErr != nil {
 			err = myErr
 		}
 		result = &c
+		waiter.Unlock()
+		extLookupCB(c, myErr)
 	}
 	// Take lock once to make sure I will wait
 	waiter.Lock()
-- 
GitLab