Skip to content

Commit 3d9bfbf

Browse files
committed
Use Synchronization Mutext instead of storage class
1 parent 93ea8ef commit 3d9bfbf

1 file changed

Lines changed: 4 additions & 20 deletions

File tree

Sources/AnyLanguageModel/Models/LlamaLanguageModel.swift

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,17 @@
11
import Foundation
2+
import Synchronization
23

34
#if Llama
45
import Llama
56

6-
private final class LogLevelStorage: @unchecked Sendable {
7-
private let lock = NSLock()
8-
private var state = LlamaLanguageModel.LogLevel.warn
9-
10-
func get() -> LlamaLanguageModel.LogLevel {
11-
lock.lock()
12-
defer { lock.unlock() }
13-
return state
14-
}
15-
16-
func set(_ newValue: LlamaLanguageModel.LogLevel) {
17-
lock.lock()
18-
state = newValue
19-
lock.unlock()
20-
}
21-
}
22-
23-
private let logLevelStorage = LogLevelStorage()
7+
private let logLevelStorage = Mutex(LlamaLanguageModel.LogLevel.warn)
248

259
private func getLogLevel() -> LlamaLanguageModel.LogLevel {
26-
logLevelStorage.get()
10+
logLevelStorage.withLock { $0 }
2711
}
2812

2913
private func setLogLevel(_ level: LlamaLanguageModel.LogLevel) {
30-
logLevelStorage.set(level)
14+
logLevelStorage.withLock { $0 = level }
3115
llama_log_set(llamaLogCallback, nil)
3216
}
3317

0 commit comments

Comments
 (0)