fix macOS PTY: cmsghdr layout, signing, sandbox removal
macOS cmsghdr uses socklen_t (4 bytes) for cmsg_len, not size_t (8 bytes like Linux). The Dart FFI struct was reading at wrong offsets causing SCM_RIGHTS fd transfer to fail. Added CmsghdrDarwin with Uint32 cmsg_len alongside the existing Linux layout. SOL_SOCKET is 0xffff on macOS (was hardcoded to 1 for Linux). Now platform-detected. Switched from ad-hoc to Apple Development signing with team ID. Removed app sandbox from entitlements — proper signing makes it unnecessary. All SBPL hacks eliminated. PtySession.spawn() runs recvFd in a child isolate to avoid blocking the backend isolate's event loop. Terminal testmode test now passes: pane.spawn via backend isolate successfully forks and execs the shell. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
45e8132a41
commit
243a92798c
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"exported_at": "2026-04-26T13:55:29Z",
|
||||
"exported_at": "2026-04-26T15:04:22Z",
|
||||
"decisions": [
|
||||
{
|
||||
"id": "D-1",
|
||||
|
||||
Reference in New Issue
Block a user