1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-06-27 21:05:53 +00:00

Merge pull request #234 from riking/patch-4

at least pretend to make Statistics updates thread-safe
This commit is contained in:
Mike 2017-09-15 19:04:26 -04:00 committed by GitHub
commit 7fd7592443
3 changed files with 7 additions and 2 deletions

View file

@ -448,12 +448,12 @@ func C2SHandleBunchedCommand(conn *websocket.Conn, client *ClientInfo, msg Clien
go func() {
result := <-resultCh
var reply ClientMessage
reply.MessageID = msg.MessageID
if result.Err != nil {
reply.Command = ErrorCommand
reply.Arguments = result.Err.Error()
} else {
reply.Command = SuccessCommand
reply.MessageID = msg.MessageID
reply.origArguments = result.Val.(string)
reply.parseOrigArguments()
}

View file

@ -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"))

View file

@ -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()
}