Execution is now identical for local and remote: - Session calls Spawn()/SpawnRemote() → owns *Process with socket - Clients call Dial(LocalAddr(socket)) → *Conn over Unix socket - ollie-remote serves --listen mode with multi-client accept loop - Builtins (shell, tool_load, skill_load) run in subprocess with registries Lifecycle: - Pdeathsig ensures children die with parent (no orphans) - Cleanup: SIGTERM → 3s grace → SIGKILL (guaranteed) - Socket paths use atomic counter for uniqueness - Session Kill() closes Process Protocol: - Extended RPC: set_env, set_cwd, detach, list_detached, etc. - Shell goes through builtin dispatch (parses 'cmd' field correctly) - Streaming output via JSON-RPC notifications |
||
|---|---|---|
| .. | ||
| Ollie | ||
| ollie-9p | ||
| ollie-remote | ||
| olliesrv | ||