revert mutex on api

This commit is contained in:
nikk gitanes
2021-08-27 19:06:38 +03:00
parent 465ef7b0c6
commit f5aed24d7f
2 changed files with 4 additions and 39 deletions

View File

@@ -2,9 +2,7 @@ module server
go 1.17 go 1.17
replace ( replace github.com/anacrolix/dms v1.2.2 => github.com/yourok/dms v0.0.0-20210826085116-42eca44e0aef
github.com/anacrolix/dms v1.2.2 => github.com/yourok/dms v0.0.0-20210826085116-42eca44e0aef
)
exclude github.com/willf/bitset v1.2.0 exclude github.com/willf/bitset v1.2.0
@@ -29,7 +27,9 @@ require (
github.com/anacrolix/chansync v0.1.0 // indirect github.com/anacrolix/chansync v0.1.0 // indirect
github.com/anacrolix/confluence v1.8.0 // indirect github.com/anacrolix/confluence v1.8.0 // indirect
github.com/anacrolix/dht/v2 v2.10.3 // indirect github.com/anacrolix/dht/v2 v2.10.3 // indirect
github.com/anacrolix/envpprof v1.1.1 // indirect
github.com/anacrolix/ffprobe v1.0.0 // indirect github.com/anacrolix/ffprobe v1.0.0 // indirect
github.com/anacrolix/go-libutp v1.0.4 // indirect
github.com/anacrolix/log v0.9.0 // indirect github.com/anacrolix/log v0.9.0 // indirect
github.com/anacrolix/missinggo/perf v1.0.0 // indirect github.com/anacrolix/missinggo/perf v1.0.0 // indirect
github.com/anacrolix/missinggo/v2 v2.5.2 // indirect github.com/anacrolix/missinggo/v2 v2.5.2 // indirect

View File

@@ -6,7 +6,6 @@ import (
"os" "os"
"path/filepath" "path/filepath"
"sort" "sort"
"sync"
"time" "time"
"github.com/anacrolix/torrent" "github.com/anacrolix/torrent"
@@ -18,7 +17,6 @@ import (
var ( var (
bts *BTServer bts *BTServer
lockApi sync.Mutex
) )
func InitApiHelper(bt *BTServer) { func InitApiHelper(bt *BTServer) {
@@ -26,8 +24,6 @@ func InitApiHelper(bt *BTServer) {
} }
func LoadTorrent(tor *Torrent) *Torrent { func LoadTorrent(tor *Torrent) *Torrent {
lockApi.Lock()
defer lockApi.Unlock()
if tor.TorrentSpec == nil { if tor.TorrentSpec == nil {
return nil return nil
} }
@@ -45,8 +41,6 @@ func LoadTorrent(tor *Torrent) *Torrent {
} }
func AddTorrent(spec *torrent.TorrentSpec, title, poster string, data string) (*Torrent, error) { func AddTorrent(spec *torrent.TorrentSpec, title, poster string, data string) (*Torrent, error) {
lockApi.Lock()
defer lockApi.Unlock()
torr, err := NewTorrent(spec, bts) torr, err := NewTorrent(spec, bts)
if err != nil { if err != nil {
log.TLogln("error add torrent:", err) log.TLogln("error add torrent:", err)
@@ -86,8 +80,6 @@ func SaveTorrentToDB(torr *Torrent) {
} }
func GetTorrent(hashHex string) *Torrent { func GetTorrent(hashHex string) *Torrent {
lockApi.Lock()
defer lockApi.Unlock()
hash := metainfo.NewHashFromHex(hashHex) hash := metainfo.NewHashFromHex(hashHex)
tor := bts.GetTorrent(hash) tor := bts.GetTorrent(hash)
if tor != nil { if tor != nil {
@@ -99,8 +91,6 @@ func GetTorrent(hashHex string) *Torrent {
if tr != nil { if tr != nil {
tor = tr tor = tr
go func() { go func() {
lockApi.Lock()
defer lockApi.Unlock()
log.TLogln("New torrent", tor.Hash()) log.TLogln("New torrent", tor.Hash())
tr, _ := NewTorrent(tor.TorrentSpec, bts) tr, _ := NewTorrent(tor.TorrentSpec, bts)
if tr != nil { if tr != nil {
@@ -117,9 +107,6 @@ func GetTorrent(hashHex string) *Torrent {
} }
func SetTorrent(hashHex, title, poster, data string) *Torrent { func SetTorrent(hashHex, title, poster, data string) *Torrent {
lockApi.Lock()
defer lockApi.Unlock()
hash := metainfo.NewHashFromHex(hashHex) hash := metainfo.NewHashFromHex(hashHex)
torr := bts.GetTorrent(hash) torr := bts.GetTorrent(hash)
torrDb := GetTorrentDB(hash) torrDb := GetTorrentDB(hash)
@@ -155,8 +142,6 @@ func SetTorrent(hashHex, title, poster, data string) *Torrent {
} }
func RemTorrent(hashHex string) { func RemTorrent(hashHex string) {
lockApi.Lock()
defer lockApi.Unlock()
hash := metainfo.NewHashFromHex(hashHex) hash := metainfo.NewHashFromHex(hashHex)
if sets.BTsets.UseDisk && hashHex != "" && hashHex != "/" { if sets.BTsets.UseDisk && hashHex != "" && hashHex != "/" {
name := filepath.Join(sets.BTsets.TorrentsSavePath, hashHex) name := filepath.Join(sets.BTsets.TorrentsSavePath, hashHex)
@@ -174,8 +159,6 @@ func RemTorrent(hashHex string) {
} }
func ListTorrent() []*Torrent { func ListTorrent() []*Torrent {
lockApi.Lock()
defer lockApi.Unlock()
btlist := bts.ListTorrents() btlist := bts.ListTorrents()
dblist := ListTorrentsDB() dblist := ListTorrentsDB()
@@ -202,8 +185,6 @@ func ListTorrent() []*Torrent {
} }
func DropTorrent(hashHex string) { func DropTorrent(hashHex string) {
lockApi.Lock()
defer lockApi.Unlock()
hash := metainfo.NewHashFromHex(hashHex) hash := metainfo.NewHashFromHex(hashHex)
bts.RemoveTorrent(hash) bts.RemoveTorrent(hash)
} }
@@ -212,12 +193,6 @@ func SetSettings(set *sets.BTSets) {
if sets.ReadOnly { if sets.ReadOnly {
return return
} }
lockApi.Lock()
defer lockApi.Unlock()
log.TLogln("drop all torrents")
dropAllTorrent()
time.Sleep(time.Second * 2)
log.TLogln("disconect")
bts.Disconnect() bts.Disconnect()
sets.SetBTSets(set) sets.SetBTSets(set)
log.TLogln("connect") log.TLogln("connect")
@@ -230,12 +205,6 @@ func SetDefSettings() {
if sets.ReadOnly { if sets.ReadOnly {
return return
} }
lockApi.Lock()
defer lockApi.Unlock()
log.TLogln("drop all torrents")
dropAllTorrent()
time.Sleep(time.Second * 2)
log.TLogln("disconect")
bts.Disconnect() bts.Disconnect()
sets.SetDefault() sets.SetDefault()
log.TLogln("connect") log.TLogln("connect")
@@ -252,8 +221,6 @@ func dropAllTorrent() {
} }
func Shutdown() { func Shutdown() {
lockApi.Lock()
defer lockApi.Unlock()
bts.Disconnect() bts.Disconnect()
sets.CloseDB() sets.CloseDB()
log.TLogln("Received shutdown. Quit") log.TLogln("Received shutdown. Quit")
@@ -265,8 +232,6 @@ func WriteStatus(w io.Writer) {
} }
func Preload(torr *Torrent, index int) { func Preload(torr *Torrent, index int) {
lockApi.Lock()
lockApi.Unlock()
cache := float32(sets.BTsets.CacheSize) cache := float32(sets.BTsets.CacheSize)
preload := float32(sets.BTsets.PreloadCache) preload := float32(sets.BTsets.PreloadCache)
size := int64((cache / 100.0) * preload) size := int64((cache / 100.0) * preload)