From ccaa5140809c486563d6e06a4041d91b4108387f Mon Sep 17 00:00:00 2001 From: Louis Dalibard Date: Mon, 10 Jun 2024 21:56:24 +0200 Subject: [PATCH] fix: add job limits for thumbnails to prevent out of memory errors (2) --- pkg/config.json | 2 +- thumbnail/thumbnail.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/config.json b/pkg/config.json index 947f31c..382afdf 100644 --- a/pkg/config.json +++ b/pkg/config.json @@ -1,6 +1,6 @@ { "host": ":3125", - "thumbnailjoblimit": "5", + "thumbnailjoblimit": 5, "servedirs": { "leech": "/home/ontake/Dev/go/leech" } diff --git a/thumbnail/thumbnail.go b/thumbnail/thumbnail.go index 407fe92..5ed7ddf 100644 --- a/thumbnail/thumbnail.go +++ b/thumbnail/thumbnail.go @@ -5,6 +5,7 @@ import ( "image" "image/color" "image/png" + "leech/config" "os" "path/filepath" "slices" @@ -27,7 +28,6 @@ var thumbnailSize = 24 var thumbnailCache = map[string][]byte{} var thumbnailCacheMutex = &sync.RWMutex{} -var jobLimit = 5 var memLimiterMutex = &sync.RWMutex{} var jobCounter = 0 var checkAgain = make(chan bool, 5) @@ -39,7 +39,7 @@ func IsSupportedFileType(completePath string) bool { func WaitForAvailable() { memLimiterMutex.RLock() - for jobLimit == jobCounter { + for config.Config.ThumbnailJobLimit == jobCounter { memLimiterMutex.RUnlock() <-checkAgain memLimiterMutex.RLock()