Avoid DB data races from different goroutines

This commit is contained in:
Přemysl Eric Janouch 2019-04-16 19:53:50 +02:00
parent e4ae5d0001
commit 0936963aaf
Signed by: p
GPG Key ID: A0420B94F92B9493

View File

@ -12,6 +12,7 @@ import (
"path"
"path/filepath"
"strings"
"sync"
"time"
"janouch.name/sklad/imgutil"
@ -308,6 +309,8 @@ func handleLabel(w http.ResponseWriter, r *http.Request) {
executeTemplate("label.tmpl", w, &params)
}
var mutex sync.Mutex
func handle(w http.ResponseWriter, r *http.Request) {
if err := r.ParseForm(); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
@ -317,6 +320,9 @@ func handle(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Cache-Control", "no-store")
}
mutex.Lock()
defer mutex.Unlock()
switch _, base := path.Split(r.URL.Path); base {
case "login":
handleLogin(w, r)