From 70da2f6616a9be64dfe83d860e2fae48bf629ba6 Mon Sep 17 00:00:00 2001 From: mar-cf Date: Fri, 20 Feb 2026 11:41:03 -0600 Subject: [PATCH] Fixup lock handling in limit enforcer and compile cache. --- src/workerd/io/worker.c++ | 3 ++- src/workerd/jsg/compile-cache.c++ | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/workerd/io/worker.c++ b/src/workerd/io/worker.c++ index 2de15705961..a4404941114 100644 --- a/src/workerd/io/worker.c++ +++ b/src/workerd/io/worker.c++ @@ -1583,7 +1583,8 @@ bool Worker::Isolate::Impl::Lock::checkInWithLimitEnforcer(Worker::Isolate& isol } kj::Maybe> Worker::Isolate::getCpuLimitNearlyExceededCallback() const { - KJ_IF_SOME(cb, *cpuLimitNearlyExceededCallback.lockExclusive()) { + auto lock = cpuLimitNearlyExceededCallback.lockExclusive(); + KJ_IF_SOME(cb, *lock) { return cb.reference(); } return kj::none; diff --git a/src/workerd/jsg/compile-cache.c++ b/src/workerd/jsg/compile-cache.c++ index b6b9be5c797..256dc416db2 100644 --- a/src/workerd/jsg/compile-cache.c++ +++ b/src/workerd/jsg/compile-cache.c++ @@ -20,7 +20,8 @@ void CompileCache::add( } kj::Maybe CompileCache::find(kj::StringPtr key) const { - KJ_IF_SOME(value, cache.lockExclusive()->find(key)) { + auto lock = cache.lockExclusive(); + KJ_IF_SOME(value, lock->find(key)) { if (value.data != nullptr) { return value; }