Restore pin-thread-to-processor0! export for app.ss compatibility

ober

8fad97207afb7eccc4e75e391a6f4ee96b1a99f2

diff --git a/lib/jerboa-emacs/async.sls b/lib/jerboa-emacs/async.sls
index b50aeb3..9b53352 100644
--- a/lib/jerboa-emacs/async.sls
+++ b/lib/jerboa-emacs/async.sls
@@ -4,13 +4,13 @@
 
 (library (jerboa-emacs async)
   (export ui-queue-push! ui-queue-drain! spawn-worker
-   async-process! async-process-stream! async-read-file!
-   async-write-file! async-eval! schedule-periodic!
-   master-timer-tick! current-time-ms *file-index*
-   start-file-indexer! stop-file-indexer! file-index-lookup
-   *git-status-cache* start-git-watcher! stop-git-watcher!
-   flycheck-trigger! start-flycheck-watcher!
-   stop-flycheck-watcher!)
+   pin-thread-to-processor0! async-process!
+   async-process-stream! async-read-file! async-write-file!
+   async-eval! schedule-periodic! master-timer-tick!
+   current-time-ms *file-index* start-file-indexer!
+   stop-file-indexer! file-index-lookup *git-status-cache*
+   start-git-watcher! stop-git-watcher! flycheck-trigger!
+   start-flycheck-watcher! stop-flycheck-watcher!)
   (import
     (except (chezscheme) make-hash-table hash-table? iota \x31;+ \x31;-
       getenv path-extension path-absolute? thread? make-mutex
@@ -20,6 +20,9 @@
     (std misc atom) (std sugar) (std srfi srfi-13)
     (jerboa-emacs core) (except (jerboa core) time->seconds)
     (jerboa runtime))
+  (def (pin-thread-to-processor0! thread)
+       "No-op on Chez — Qt thread affinity is handled by architecture:\n   all Qt calls run on the primordial thread, blocking work in workers."
+       #f)
   (def (spawn-worker name thunk)
        "Spawn a background worker thread for blocking operations.\n   Uses fork-thread which properly decrements S_nthreads on completion.\n   The thunk runs in a background thread — do NOT call Qt FFI from it.\n   Post Qt operations back to the UI thread via ui-queue-push!."
        (let ([t (make-thread
diff --git a/src/jerboa-emacs/async.ss b/src/jerboa-emacs/async.ss
index 4ab7107..d389711 100644
--- a/src/jerboa-emacs/async.ss
+++ b/src/jerboa-emacs/async.ss
@@ -22,6 +22,9 @@
   ;; Background worker
   spawn-worker
 
+  ;; Thread pinning (no-op on Chez — Qt affinity handled by architecture)
+  pin-thread-to-processor0!
+
   ;; Async command runner
   async-process!
   async-process-stream!
@@ -58,6 +61,15 @@
         :jerboa-emacs/core)
 
 ;;;============================================================================
+;;; Thread Pinning (no-op on Chez)
+;;;============================================================================
+
+(def (pin-thread-to-processor0! thread)
+  "No-op on Chez — Qt thread affinity is handled by architecture:
+   all Qt calls run on the primordial thread, blocking work in workers."
+  #f)
+
+;;;============================================================================
 ;;; Background Worker
 ;;;============================================================================