IO-aware eval for server dispatch + compile-modules timeout bump

sx_server.ml: the "eval" command now uses cek_run_with_io instead of
raw eval_expr. This handles import suspensions during eval-blob
(needed for .sx files with define-library/import wrappers).

compile-modules.js: timeout bumped 5min → 10min for sxbc compilation
with define-library overhead.

2608/2608 tests passing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-03 23:31:41 +00:00
parent 6008a1be30
commit ac772ac357
2 changed files with 4 additions and 2 deletions

View File

@@ -1030,7 +1030,9 @@ let rec dispatch env cmd =
(try
let exprs = Sx_parser.parse_all src in
let result = List.fold_left (fun _acc expr ->
Sx_ref.eval_expr expr (Env env)
(* Use IO-aware eval to handle import suspensions *)
let state = Sx_ref.make_cek_state expr (Env env) (List []) in
cek_run_with_io state
) Nil exprs in
(* Use ok-raw with natural list serialization — no (list ...) wrapping.
This preserves the SX structure for Python to parse back. *)

View File

@@ -88,7 +88,7 @@ const t1 = Date.now();
const result = spawnSync(binPath, [], {
input: fs.readFileSync(tmpFile),
maxBuffer: 100 * 1024 * 1024, // 100MB
timeout: 300000, // 5 min
timeout: 600000, // 10 min
stdio: ['pipe', 'pipe', 'pipe'],
});