aboutsummaryrefslogtreecommitdiff
path: root/net/v2raya/patches/018-fix-do-not-rollback-closed-transaction.patch
blob: b9815f4592b0c1b89783ec9f832b6fda5a372686 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
From 451912074ba1ba4000c66874876bc0a6b64cb5da Mon Sep 17 00:00:00 2001
From: Kelo <meetkelo@outlook.com>
Date: Sun, 30 Oct 2022 16:49:22 +0800
Subject: [PATCH] fix: do not rollback closed transaction

---
 service/db/boltdb.go | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- a/db/boltdb.go
+++ b/db/boltdb.go
@@ -56,14 +56,13 @@ func Transaction(db *bbolt.DB, fn func(*
 	if err != nil {
 		return err
 	}
-	defer tx.Rollback()
 	dirty, err := fn(tx)
 	if err != nil {
 		_ = tx.Rollback()
 		return err
 	}
 	if !dirty {
-		return nil
+		return tx.Rollback()
 	}
 	return tx.Commit()
 }