Guard batch-begin!/batch-end! with (client?) — server-only platform ops
These are OCaml-side bookkeeping for the Python async bridge. The browser WASM kernel registers them in the CEK env but not the VM global table, so bytecode-compiled batch() crashed with "VM undefined: batch-begin!". The SX-level *batch-depth*/*batch-queue* already handle batching correctly. Verified in Playwright sandbox: signal, deref, reset!, batch, computed all work with source fallback (sxbc load-format issue is pre-existing). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -151,7 +151,7 @@
|
|||||||
(fn
|
(fn
|
||||||
((thunk :as callable))
|
((thunk :as callable))
|
||||||
(set! *batch-depth* (+ *batch-depth* 1))
|
(set! *batch-depth* (+ *batch-depth* 1))
|
||||||
(batch-begin!)
|
(when (not (client?)) (batch-begin!))
|
||||||
(cek-call thunk nil)
|
(cek-call thunk nil)
|
||||||
(set! *batch-depth* (- *batch-depth* 1))
|
(set! *batch-depth* (- *batch-depth* 1))
|
||||||
(when
|
(when
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
(signal-subscribers s)))
|
(signal-subscribers s)))
|
||||||
queue)
|
queue)
|
||||||
(for-each (fn ((sub :as callable)) (sub)) pending))))
|
(for-each (fn ((sub :as callable)) (sub)) pending))))
|
||||||
(batch-end!)))
|
(when (not (client?)) (batch-end!))))
|
||||||
(define
|
(define
|
||||||
notify-subscribers
|
notify-subscribers
|
||||||
:effects (mutation)
|
:effects (mutation)
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -151,7 +151,7 @@
|
|||||||
(fn
|
(fn
|
||||||
((thunk :as callable))
|
((thunk :as callable))
|
||||||
(set! *batch-depth* (+ *batch-depth* 1))
|
(set! *batch-depth* (+ *batch-depth* 1))
|
||||||
(batch-begin!)
|
(when (not (client?)) (batch-begin!))
|
||||||
(cek-call thunk nil)
|
(cek-call thunk nil)
|
||||||
(set! *batch-depth* (- *batch-depth* 1))
|
(set! *batch-depth* (- *batch-depth* 1))
|
||||||
(when
|
(when
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
(signal-subscribers s)))
|
(signal-subscribers s)))
|
||||||
queue)
|
queue)
|
||||||
(for-each (fn ((sub :as callable)) (sub)) pending))))
|
(for-each (fn ((sub :as callable)) (sub)) pending))))
|
||||||
(batch-end!)))
|
(when (not (client?)) (batch-end!))))
|
||||||
(define
|
(define
|
||||||
notify-subscribers
|
notify-subscribers
|
||||||
:effects (mutation)
|
:effects (mutation)
|
||||||
|
|||||||
Reference in New Issue
Block a user