From e7ab024ca01b5cf9f5acaaa34d3a449bbeafb905 Mon Sep 17 00:00:00 2001 From: Benson Wong Date: Fri, 2 May 2025 23:18:07 -0700 Subject: [PATCH] small locking optimization --- proxy/processgroup.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/proxy/processgroup.go b/proxy/processgroup.go index 9c244a4..464dded 100644 --- a/proxy/processgroup.go +++ b/proxy/processgroup.go @@ -57,14 +57,16 @@ func (pg *ProcessGroup) ProxyRequest(modelID string, writer http.ResponseWriter, return fmt.Errorf("model %s not part of group %s", modelID, pg.id) } - pg.Lock() - if pg.swap && pg.lastUsedProcess != modelID { - if pg.lastUsedProcess != "" { - pg.processes[pg.lastUsedProcess].Stop() + if pg.swap { + pg.Lock() + if pg.lastUsedProcess != modelID { + if pg.lastUsedProcess != "" { + pg.processes[pg.lastUsedProcess].Stop() + } + pg.lastUsedProcess = modelID } - pg.lastUsedProcess = modelID + pg.Unlock() } - pg.Unlock() pg.processes[modelID].ProxyRequest(writer, request) return nil