mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 07:40:56 +08:00 
			
		
		
		
	优化代码
This commit is contained in:
		@@ -10,7 +10,7 @@ import (
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/utils/fileutils"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/utils/fs"
 | 
			
		||||
	_ "github.com/mattn/go-sqlite3"
 | 
			
		||||
	"net/url"
 | 
			
		||||
	"strings"
 | 
			
		||||
@@ -21,7 +21,7 @@ import (
 | 
			
		||||
var errDBIsClosed = errors.New("the database is closed")
 | 
			
		||||
 | 
			
		||||
type DB struct {
 | 
			
		||||
	locker *fileutils.Locker
 | 
			
		||||
	locker *fsutils.Locker
 | 
			
		||||
	rawDB  *sql.DB
 | 
			
		||||
	dsn    string
 | 
			
		||||
 | 
			
		||||
@@ -49,7 +49,7 @@ func open(dsn string, lock bool) (*DB, error) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// locker
 | 
			
		||||
	var locker *fileutils.Locker
 | 
			
		||||
	var locker *fsutils.Locker
 | 
			
		||||
	if lock {
 | 
			
		||||
		var path = dsn
 | 
			
		||||
		var queryIndex = strings.Index(dsn, "?")
 | 
			
		||||
@@ -57,7 +57,7 @@ func open(dsn string, lock bool) (*DB, error) {
 | 
			
		||||
			path = path[:queryIndex]
 | 
			
		||||
		}
 | 
			
		||||
		path = strings.TrimSpace(strings.TrimPrefix(path, "file:"))
 | 
			
		||||
		locker = fileutils.NewLocker(path)
 | 
			
		||||
		locker = fsutils.NewLocker(path)
 | 
			
		||||
		err := locker.Lock()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			remotelogs.Warn("DB", "lock '"+path+"' failed: "+err.Error())
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
 | 
			
		||||
 | 
			
		||||
package fileutils
 | 
			
		||||
package fsutils
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"os"
 | 
			
		||||
@@ -1,22 +1,22 @@
 | 
			
		||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
 | 
			
		||||
 | 
			
		||||
package fileutils_test
 | 
			
		||||
package fsutils_test
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/utils/fileutils"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/utils/fs"
 | 
			
		||||
	"testing"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestLocker_Lock(t *testing.T) {
 | 
			
		||||
	var path = "/tmp/file-test"
 | 
			
		||||
	var locker = fileutils.NewLocker(path)
 | 
			
		||||
	var locker = fsutils.NewLocker(path)
 | 
			
		||||
	err := locker.Lock()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	_ = locker.Release()
 | 
			
		||||
 | 
			
		||||
	var locker2 = fileutils.NewLocker(path)
 | 
			
		||||
	var locker2 = fsutils.NewLocker(path)
 | 
			
		||||
	err = locker2.Lock()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
		Reference in New Issue
	
	Block a user