From 9079f961f7d82e0c4f20b5ad61bd460ab1f6ab6a Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Tue, 21 Feb 2017 14:37:10 +0000 Subject: [PATCH] Move the guts of updateLatestEvents to a separate function to keep the commit and rollback code clearer --- .../dendrite/roomserver/input/latest_events.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/github.com/matrix-org/dendrite/roomserver/input/latest_events.go b/src/github.com/matrix-org/dendrite/roomserver/input/latest_events.go index 84261af42..c37c17001 100644 --- a/src/github.com/matrix-org/dendrite/roomserver/input/latest_events.go +++ b/src/github.com/matrix-org/dendrite/roomserver/input/latest_events.go @@ -26,7 +26,7 @@ func updateLatestEvents( ) (err error) { oldLatest, updater, err := db.GetLatestEventsForUpdate(roomNID) if err != nil { - return err + return } defer func() { if err == nil { @@ -42,6 +42,14 @@ func updateLatestEvents( } }() + err = doUpdateLatestEvents(updater, oldLatest, roomNID, stateAtEvent, event) + return +} + +func doUpdateLatestEvents( + updater types.RoomRecentEventsUpdater, oldLatest []types.StateAtEventAndReference, roomNID types.RoomNID, stateAtEvent types.StateAtEvent, event gomatrixserverlib.Event, +) error { + var err error var prevEvents []gomatrixserverlib.EventReference prevEvents = event.PrevEvents() @@ -84,7 +92,5 @@ func updateLatestEvents( return err } - // The err should be nil at this point. - // But when we call Close in the defer above it might set an error here. - return + return nil }