aboutsummaryrefslogtreecommitdiff
path: root/cmd/web/main.go
diff options
context:
space:
mode:
authorMitchell <mitch@riedstra.dev>2021-01-12 20:53:02 -0500
committerMitchell <mitch@riedstra.dev>2021-01-12 20:53:02 -0500
commit9b04f4ca1c2fe470a562be4b075d48d1c18962da (patch)
tree7cb3b465eec5bde3de88d826880d2cc625eff005 /cmd/web/main.go
parentfde64077cdd85f7a7b989fef320bf7fa3826a01d (diff)
downloadsteam-export-9b04f4ca1c2fe470a562be4b075d48d1c18962da.tar.gz
steam-export-9b04f4ca1c2fe470a562be4b075d48d1c18962da.tar.xz
Remove the rwmutex from the steam library as the template may be mutating the map causing issues. Embed the mutexes.
Diffstat (limited to 'cmd/web/main.go')
-rw-r--r--cmd/web/main.go18
1 files changed, 12 insertions, 6 deletions
diff --git a/cmd/web/main.go b/cmd/web/main.go
index bbb7fb6..d66e366 100644
--- a/cmd/web/main.go
+++ b/cmd/web/main.go
@@ -16,26 +16,30 @@ import (
"riedstra.dev/mitch/steam-export/steam"
)
+type steamLib struct {
+ steam.Library
+ sync.Mutex
+}
+
var (
Version = "Development"
Logger = log.New(os.Stderr, "", log.LstdFlags)
Listen = ":8899"
- libMu = &sync.RWMutex{}
- Lib *steam.Library
+ Lib steamLib
)
func reloadLib() {
Logger.Println("Starting library reload")
- libMu.Lock()
- defer libMu.Unlock()
+ Lib.Lock()
+ defer Lib.Unlock()
var err error
l2, err := steam.NewLibrary(DefaultLib)
if err != nil {
Logger.Printf("Error reopening library: %s", err)
return
}
- Lib = l2
+ Lib.Library = *l2
Logger.Println("Done reloading library")
}
@@ -141,10 +145,12 @@ func main() {
}
var err error
- Lib, err = steam.NewLibrary(DefaultLib)
+ var l *steam.Library
+ l, err = steam.NewLibrary(DefaultLib)
if err != nil {
Logger.Fatalf("While opening library path: %s", err)
}
+ Lib.Library = *l
go installer(getPath)