From e725dc248c93c2ac538980bf9d5175cec4c42fa1 Mon Sep 17 00:00:00 2001 From: Kane York Date: Fri, 15 Sep 2017 15:55:42 -0700 Subject: [PATCH] at least pretend to make Statistics thread-safe reduce websocket read buffers --- socketserver/server/handlecore.go | 2 +- socketserver/server/stats.go | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/socketserver/server/handlecore.go b/socketserver/server/handlecore.go index 9cac001c..905dde04 100644 --- a/socketserver/server/handlecore.go +++ b/socketserver/server/handlecore.go @@ -186,7 +186,7 @@ func HTTPSayOK(w http.ResponseWriter, _ *http.Request) { // SocketUpgrader is the websocket.Upgrader currently in use. var SocketUpgrader = websocket.Upgrader{ - ReadBufferSize: 1024, + ReadBufferSize: 160, WriteBufferSize: 1024, CheckOrigin: func(r *http.Request) bool { return r.Header.Get("Origin") == "" || OriginRegexp.MatchString(r.Header.Get("Origin")) diff --git a/socketserver/server/stats.go b/socketserver/server/stats.go index b4274997..8455fa8f 100644 --- a/socketserver/server/stats.go +++ b/socketserver/server/stats.go @@ -12,6 +12,8 @@ import ( ) type StatsData struct { + updateMu sync.Mutex + StatsDataVersion int StartTime time.Time @@ -114,6 +116,9 @@ func SetBuildStamp(buildTime, buildHash string) { } func updateStatsIfNeeded() { + Statistics.updateMu.Lock() + defer Statistics.updateMu.Unlock() + if time.Now().Add(-2 * time.Second).After(Statistics.CachedStatsLastUpdate) { updatePeriodicStats() }