running-process 4.8.0__tar.gz → 4.8.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {running_process-4.8.0 → running_process-4.8.2}/Cargo.lock +9 -9
- {running_process-4.8.0 → running_process-4.8.2}/Cargo.toml +1 -1
- {running_process-4.8.0 → running_process-4.8.2}/PKG-INFO +1 -1
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/Cargo.toml +1 -1
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/bin/running-process-broker-v2.rs +69 -38
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol_v2/client_compat.rs +84 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker_v2_acceptance_test.rs +136 -13
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/Cargo.toml +2 -2
- {running_process-4.8.0 → running_process-4.8.2}/pyproject.toml +1 -1
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/__init__.py +1 -1
- {running_process-4.8.0 → running_process-4.8.2}/LICENSE +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/README.md +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/README.md +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/build.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/examples/handoff_rollout_evidence.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/proto/broker_v1/broker_v1_admin.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/proto/broker_v1/broker_v1_envelope.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/proto/broker_v1/broker_v1_manifest.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/proto/broker_v1/broker_v1_service_def.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/proto/broker_v1/buf.yaml +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/proto/broker_v2/broker_v2_control.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/proto/broker_v2/broker_v2_manifest.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/proto/broker_v2/broker_v2_service_def.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/proto/daemon.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/README.md +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/bin/README.md +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/bin/daemon.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/bin/running-process-broker-v1.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/bin/running-process-broker-v2/tests.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/bin/running-process-cleanup.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/bin/runpm.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/bin/trampoline.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/boot_autostart/linux.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/boot_autostart/macos.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/boot_autostart/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/boot_autostart/windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/README.md +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/adopt.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_handle.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_lib/accept_handed_off.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_lib/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_lib/wire.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_lifecycle/identity.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_lifecycle/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_lifecycle/probe.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_lifecycle/probe_async.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_lifecycle/verify_pid.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_sdk/frame_client.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_sdk/frame_client_async.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_sdk/identity_file.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_sdk/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/backend_sdk/mux.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/broker_http_discovery.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/broker_http_port.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/broker_http_server.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/broker_owned_bind/tests.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/broker_owned_bind.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/brokered_backend.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/builders.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/capabilities.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/client.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/client_v2.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/doctor.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/fs_health.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/get_http_endpoint_dispatch.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/host_identity.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/http_endpoint_registry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/lifecycle/crash_dump.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/lifecycle/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/lifecycle/names.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/lifecycle/names_v2.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/lifecycle/privilege.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/lifecycle/process_tree.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/lifecycle/sid.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/manifest.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol/frame_ext.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol/framing.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol/registry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol/validate.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol_v2/README.md +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol_v2/backend_handle.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol_v2/io.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol_v2/loader.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol_v2/manifest_io.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/protocol_v2/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/secure_dir.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/admin.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/backend_endpoint_allocator.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/backend_launcher.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/backend_registry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/broadcast.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/connection.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/control_socket.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/deadline_stream.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/fd_pressure.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff/ack.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff/fallback.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff/handoff_token.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff/latency.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff/orchestrate.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff/orchestrate_unix.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff/pending.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff/unix.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff/windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff/wire.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/handoff_serve.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/hello_handler.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/hello_router.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/idle_coord.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/instance.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/metrics.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/perf_guard.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/recovery.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/serve.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/service_def_loader.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/spawn_coordinator.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/spawn_wait.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/trace_context.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/broker/server/version_allow_list.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/cleanup/instances.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/cleanup/list.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/cleanup/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/cleanup/prune.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/cleanup/uninstall.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/cleanup/verify_artifacts.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/cleanup/verify_basic.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/client/client.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/client/deadline_io.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/client/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/client/observer.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/client/paths.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/client/pipe_session.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/client/pty_session.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/client/telemetry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/console_detect.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/containment.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/attach_stream.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/config.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/emergency_reserve.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/core.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/kill.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/maintenance.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/observer.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/pipe_sessions_handlers.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/process_tree.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/pty_sessions_handlers.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/registry_handlers.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/services.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/spawn.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/telemetry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers/util.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/handlers_tests.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/idle.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/observer_registry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/pipe_attach_stream.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/pipe_sessions.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/platform/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/platform/unix.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/platform/windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/pty_sessions.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/reaper.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/registry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/runtime_gc.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/server.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/services.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/services_snapshot.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/shadow.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/daemon/telemetry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/environment.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/helpers.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/lib.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/maintenance/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/maintenance/release_handles.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/observer/cmdline.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/observer/descendants_linux.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/observer/descendants_macos.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/observer/file_handles.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/observer/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/observer/pid_identity.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/observer/tests.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/originator.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/probe/capture.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/probe/client.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/probe/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/probe/worker.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/process_tree.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/backend.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/conpty_passthrough/child.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/conpty_passthrough/conpty_acquire.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/conpty_passthrough/conpty_api.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/conpty_passthrough/conpty_sidecar_hashes.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/conpty_passthrough/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/conpty_passthrough/pipes.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/conpty_passthrough/proc_thread_attr.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/conpty_passthrough/pseudoconsole.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/conpty_passthrough/win_version.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/native_pty_process.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/pty_posix.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/pty_windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/pty/terminal_input.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/public_symbols.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/runpm_config.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/rust_debug.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/spawn.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/spawn_imp_unix.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/spawn_imp_windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/systemd_killmode.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/terminal_graphics.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/test_support/conformance.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/test_support/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/tests.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/types.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/unix.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/window_icon/ico.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/window_icon/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/window_icon/osc.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/window_icon/tests_support.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/window_icon/x11.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/src/windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/README.md +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/backend_launch_budget_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/admin.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/backend_endpoint_allocator.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/backend_handle_boot_id.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/backend_handle_common.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/backend_handle_dead.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/backend_handle_probe.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/backend_handle_recycled.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/backend_registry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/backend_sdk.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/backend_sdk_async.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/broadcast_release_handles.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/builders.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/client.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/conformance_kit.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/connection.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/contrib_templates.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/docs_escape_hatch.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/docs_index.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/doctor.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/fd_pressure.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/framing.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/golden_bytes.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_ack_deadline.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_adopted_backend.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_adoption.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_backend_lib.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_capability.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_cross_os_acceptance.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_end_to_end_acceptance.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_fallback_perm_denied.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_latency.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_latency_e2e.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_orchestrate.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_serve_e2e.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_serve_latency.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_token_mismatch.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_transport.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_under_load.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_unix_e2e_orchestrate.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_unix_orchestrate.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_windows_duplicate_handle.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_windows_orchestrate.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/handoff_wire.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/hello_concurrent.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/hello_handler.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/hello_rate_limit.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/hello_router.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/hello_service_unknown.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/hello_skip.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/hello_version_blocked.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/idle_coord.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/instance.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/instance_isolation.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/into_backend_io.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/lifecycle_event_size.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/main.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/manifest_atomic.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/manifest_boot_id.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/manifest_corruption.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/manifest_roundtrip.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/metrics_names_frozen.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/names.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/peer_creds_drop.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/perf_guard.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/process_tree_lifecycle.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/proto_field_numbers.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/proto_roundtrip.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/recovery_one_retry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/serve.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/service_def_loader.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/servicedef_cli.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/socket_common.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/spawn_coordinator.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/spawn_wait.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/toy_three_party.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/trace_propagation.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/verify_pid/linux.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/verify_pid/macos.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/verify_pid/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker/verify_pid/windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker_http_aggregator_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker_owned_bind_failed_launch_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker_owned_bind_handover_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/broker_v2_scaffold_accepts_connection.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/brokered_backend_ui.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/cleanup/cleanup_list.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/cleanup/cleanup_prune_confirm.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/cleanup/cleanup_prune_dryrun.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/cleanup/cleanup_uninstall.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/cleanup/cleanup_verify_artifacts.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/cleanup/common.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/cleanup/main.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/common/mitm_stdin.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/common/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/containment_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_autostart_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_backlog_accumulation_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_cross_process_pty_attach_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_fast_ctrl_c_handoff_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_integration/compiler_wrap_seam_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_integration/env_replace_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_integration/main.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_integration/more_tests.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_integration/stdout_seam_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_non_tty_attach_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_pipe_session_attach_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_pty_session_attach_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_resize_rpc_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_runpm_save_resurrect.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_runpm_service_stubs.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_sessions_bulk_ops_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_sessions_log_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_tee_ring_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_termination_outcome_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_tree_kill_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/daemon_tui_repaint_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/fs_adversarial_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/interactive_pty_session_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/maintenance/main.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/maintenance/release_handles_unix.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/maintenance/release_handles_windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/observer_launched_tree_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/originator_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/probe_facade_surface.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/process_core_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/pty_conhost_job_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/pty_master_public_api_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/pty_mitm_paste_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/pty_mitm_stdin_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/pty_unix_teardown_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/runpm_boot_autostart_fixtures.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/runpm_toml_config.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/cross_user_release_handles.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/cve_dbus_2014_3639.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/cve_dbus_2023_34969.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/cve_sccache_2023_1521.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/deferred_runtime_surfaces.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/dependency_surface.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/fuzz_campaign_signoff.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/main.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/manifest_tamper_detection.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/no_network_dependencies.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/pipe_name_validation.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/pipe_squatting.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/security_audit_workflow.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/security_fuzz_workflow.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/service_name_validation.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/unsafe_inventory.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/wanted_version_shell_injection.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/security/wanted_version_traversal.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/spawn_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/terminal_graphics_capabilities_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/ui/brokered_backend_state_in_bind.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/ui/brokered_backend_state_in_bind.stderr +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process/tests/window_icon_x11_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/Cargo.toml +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/build.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/proto/probe_diag_v1/probe_diag_v1_capture.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/proto/probe_diag_v1/probe_diag_v1_common.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/proto/probe_diag_v1/probe_diag_v1_crash.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/proto/probe_diag_v1/probe_diag_v1_envelope.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/proto/probe_diag_v1/probe_diag_v1_profile.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/proto/probe_diag_v1/probe_diag_v1_query.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/proto/probe_diag_v1/probe_diag_v1_registration.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/proto/probe_diag_v1/probe_diag_v1_symbols.proto +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/bin/helper.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/crash/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/crash/spool.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/inject_unix.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/inject_windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/lib.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/snapshot/attribute.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/snapshot/linux.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/snapshot/macos.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/snapshot/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/snapshot/modules.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/snapshot/stream.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/snapshot/unwind.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/src/snapshot/windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/tests/crash_handler_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/tests/fixtures/probe_diag_v1_capture.bin +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/tests/fixtures/probe_diag_v1_crash.bin +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/tests/fixtures/probe_diag_v1_profile.bin +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/tests/fixtures/probe_diag_v1_register.bin +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/tests/inject_smoke_test.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/tests/interposer_diagnostic_windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/tests/interposer_integration_linux.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/tests/interposer_integration_macos.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/tests/interposer_integration_windows.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-probe/tests/wire_roundtrip.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/containment.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/daemon_client.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/debug_traces.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/helpers.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/idle_detector.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/lib.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/metrics.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/originator.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/pid_tracking.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/priority.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/probe.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/process.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/process_tree.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/pty_buffer.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/pty_process.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/public_symbols.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/py_native_process.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/registry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/signal_bool.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/terminal_input.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/tests/control_churn.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/tests/expect_match.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/tests/idle_detector.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/tests/mod.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/tests/parse_command.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/tests/process_tree.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/tests/pty_buffer.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/tests/pty_process.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/tests/registry.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/tests/signal_bool.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/tests/terminal_input.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/running-process-py/src/window_icon.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/test-watchdog/Cargo.toml +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/test-watchdog/src/lib.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/test-watchdog/src/probe_dump.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/crates/test-watchdog/tests/hang_dump.rs +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/assets/example.txt +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/asyncio_adapter.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/cli.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/command_render.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/compat.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/console_encoding.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/daemon.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/dashboard.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/dump_paths.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/exit_status.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/expect.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/interrupt_handler.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/launch.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/line_iterator.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/output_formatter.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/priority.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/probe.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/process_utils.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/processor_cli.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/__init__.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_command.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_console_io.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_errors.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_idle_helpers.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_idle_state.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_interactive.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_process_helpers.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_pseudo_terminal.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_pty_expect.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_pty_idle_waiter.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_pty_input_relay.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_pty_reader.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_pty_wait_for.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_terminal_strip.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_types.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/pty/_wait_input.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/running_process/__init__.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/running_process/_classmethod_api.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/running_process/_core.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/running_process/_helpers.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/running_process/_iter.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/running_process/_subprocess.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/running_process/_types.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/running_process/_wait_methods.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/running_process_manager.py +0 -0
- {running_process-4.8.0 → running_process-4.8.2}/src/running_process/window_icon.py +0 -0
|
@@ -2051,7 +2051,7 @@ dependencies = [
|
|
|
2051
2051
|
|
|
2052
2052
|
[[package]]
|
|
2053
2053
|
name = "running-process"
|
|
2054
|
-
version = "4.8.
|
|
2054
|
+
version = "4.8.2"
|
|
2055
2055
|
dependencies = [
|
|
2056
2056
|
"anyhow",
|
|
2057
2057
|
"blake3",
|
|
@@ -2093,7 +2093,7 @@ dependencies = [
|
|
|
2093
2093
|
|
|
2094
2094
|
[[package]]
|
|
2095
2095
|
name = "running-process-probe"
|
|
2096
|
-
version = "4.8.
|
|
2096
|
+
version = "4.8.2"
|
|
2097
2097
|
dependencies = [
|
|
2098
2098
|
"blake3",
|
|
2099
2099
|
"crash-handler",
|
|
@@ -2116,7 +2116,7 @@ dependencies = [
|
|
|
2116
2116
|
|
|
2117
2117
|
[[package]]
|
|
2118
2118
|
name = "running-process-probe-daemon"
|
|
2119
|
-
version = "4.8.
|
|
2119
|
+
version = "4.8.2"
|
|
2120
2120
|
dependencies = [
|
|
2121
2121
|
"axum",
|
|
2122
2122
|
"blake3",
|
|
@@ -2150,21 +2150,21 @@ dependencies = [
|
|
|
2150
2150
|
|
|
2151
2151
|
[[package]]
|
|
2152
2152
|
name = "running-process-probe-interposer-linux"
|
|
2153
|
-
version = "4.8.
|
|
2153
|
+
version = "4.8.2"
|
|
2154
2154
|
dependencies = [
|
|
2155
2155
|
"libc",
|
|
2156
2156
|
]
|
|
2157
2157
|
|
|
2158
2158
|
[[package]]
|
|
2159
2159
|
name = "running-process-probe-interposer-macos"
|
|
2160
|
-
version = "4.8.
|
|
2160
|
+
version = "4.8.2"
|
|
2161
2161
|
dependencies = [
|
|
2162
2162
|
"libc",
|
|
2163
2163
|
]
|
|
2164
2164
|
|
|
2165
2165
|
[[package]]
|
|
2166
2166
|
name = "running-process-probe-interposer-windows"
|
|
2167
|
-
version = "4.8.
|
|
2167
|
+
version = "4.8.2"
|
|
2168
2168
|
dependencies = [
|
|
2169
2169
|
"retour",
|
|
2170
2170
|
"windows-sys 0.59.0",
|
|
@@ -2172,7 +2172,7 @@ dependencies = [
|
|
|
2172
2172
|
|
|
2173
2173
|
[[package]]
|
|
2174
2174
|
name = "running-process-probe-worker"
|
|
2175
|
-
version = "4.8.
|
|
2175
|
+
version = "4.8.2"
|
|
2176
2176
|
dependencies = [
|
|
2177
2177
|
"addr2line",
|
|
2178
2178
|
"lzma-rs",
|
|
@@ -2190,7 +2190,7 @@ dependencies = [
|
|
|
2190
2190
|
|
|
2191
2191
|
[[package]]
|
|
2192
2192
|
name = "running-process-py"
|
|
2193
|
-
version = "4.8.
|
|
2193
|
+
version = "4.8.2"
|
|
2194
2194
|
dependencies = [
|
|
2195
2195
|
"interprocess",
|
|
2196
2196
|
"libc",
|
|
@@ -2205,7 +2205,7 @@ dependencies = [
|
|
|
2205
2205
|
|
|
2206
2206
|
[[package]]
|
|
2207
2207
|
name = "running-process-win-gnu-bridge"
|
|
2208
|
-
version = "4.8.
|
|
2208
|
+
version = "4.8.2"
|
|
2209
2209
|
dependencies = [
|
|
2210
2210
|
"windows-sys 0.59.0",
|
|
2211
2211
|
]
|
|
@@ -167,7 +167,7 @@ sha2 = { version = "0.10", optional = true }
|
|
|
167
167
|
getrandom = { version = "0.4", optional = true }
|
|
168
168
|
# #633: schema-only dependency for the probe client facade. default-features
|
|
169
169
|
# off keeps the interposer/injection machinery out — see the `probe` feature.
|
|
170
|
-
running-process-probe = { path = "../running-process-probe", version = "4.8.
|
|
170
|
+
running-process-probe = { path = "../running-process-probe", version = "4.8.2", default-features = false, optional = true }
|
|
171
171
|
# Wave 5 of #165: daemon-feature deps. All optional.
|
|
172
172
|
# tokio: `client-async` (#414) only needs the `rt` (spawn_blocking)
|
|
173
173
|
# and `time` (`tokio::time::timeout`) features; the `daemon` feature
|
|
@@ -71,6 +71,41 @@ use running_process::broker::protocol_v2::ServiceDefinitionLoader;
|
|
|
71
71
|
use running_process::broker::server::deadline_stream::{hello_read_deadline, DeadlineStream};
|
|
72
72
|
use running_process::broker::server::service_def_loader::ServiceDefinitionError;
|
|
73
73
|
|
|
74
|
+
/// Write a line to stdout, tolerating a reader that has gone away.
|
|
75
|
+
///
|
|
76
|
+
/// `println!` panics if the underlying write fails, and the failure it
|
|
77
|
+
/// hits in practice is `EPIPE` — someone was reading the broker's stdout
|
|
78
|
+
/// and stopped. That is not a broker fault and it is not a reason to
|
|
79
|
+
/// abort: the broker's job is brokering, and its progress chatter is
|
|
80
|
+
/// diagnostic. Panicking there turns "nobody is reading the log" into a
|
|
81
|
+
/// process exit with status 101 and a backtrace that points at the
|
|
82
|
+
/// logging line rather than at the closed pipe, which is a genuinely
|
|
83
|
+
/// misleading thing to hand an operator.
|
|
84
|
+
///
|
|
85
|
+
/// This surfaced during the #532 acceptance work: a test whose reader
|
|
86
|
+
/// thread dropped its end of the pipe made the broker exit 101 on
|
|
87
|
+
/// SIGTERM, and the shutdown path looked defective for as long as it took
|
|
88
|
+
/// to notice the panic came from the `println!` announcing the shutdown.
|
|
89
|
+
///
|
|
90
|
+
/// Errors are dropped rather than reported: the reporting channel for a
|
|
91
|
+
/// failed stdout write would be stderr, which in the case that matters
|
|
92
|
+
/// (a supervisor closing both) has failed too.
|
|
93
|
+
macro_rules! say {
|
|
94
|
+
($($arg:tt)*) => {{
|
|
95
|
+
use std::io::Write as _;
|
|
96
|
+
let _ = writeln!(std::io::stdout(), $($arg)*);
|
|
97
|
+
}};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/// [`say!`] for stderr. Same reasoning: a diagnostic that kills the
|
|
101
|
+
/// process when it cannot be delivered is worse than a lost diagnostic.
|
|
102
|
+
macro_rules! say_err {
|
|
103
|
+
($($arg:tt)*) => {{
|
|
104
|
+
use std::io::Write as _;
|
|
105
|
+
let _ = writeln!(std::io::stderr(), $($arg)*);
|
|
106
|
+
}};
|
|
107
|
+
}
|
|
108
|
+
|
|
74
109
|
/// Default program name when `--program` is not passed. Matches the
|
|
75
110
|
/// slice-3c scaffold so existing integration tests keep working.
|
|
76
111
|
const DEFAULT_PROGRAM: &str = "broker-v2-scaffold";
|
|
@@ -302,18 +337,18 @@ fn main() -> ExitCode {
|
|
|
302
337
|
let opts = match parse_cli(&args) {
|
|
303
338
|
Ok(o) => o,
|
|
304
339
|
Err(msg) => {
|
|
305
|
-
|
|
340
|
+
say_err!("{msg}");
|
|
306
341
|
return ExitCode::from(2);
|
|
307
342
|
}
|
|
308
343
|
};
|
|
309
344
|
|
|
310
|
-
|
|
345
|
+
say!(
|
|
311
346
|
"running-process-broker-v2 {} (slice 1 of running-process#532)",
|
|
312
347
|
env!("CARGO_PKG_VERSION")
|
|
313
348
|
);
|
|
314
349
|
|
|
315
350
|
if opts.no_bind {
|
|
316
|
-
|
|
351
|
+
say!("running-process-broker-v2 --no-bind: skipping listener bind");
|
|
317
352
|
return ExitCode::SUCCESS;
|
|
318
353
|
}
|
|
319
354
|
|
|
@@ -326,7 +361,7 @@ fn main() -> ExitCode {
|
|
|
326
361
|
// env var is honored for isolated test environments that
|
|
327
362
|
// intentionally exercise privileged startup behavior.
|
|
328
363
|
if let Err(err) = refuse_privileged_run() {
|
|
329
|
-
|
|
364
|
+
say_err!(
|
|
330
365
|
"running-process-broker-v2: refusing privileged startup: {err}. \
|
|
331
366
|
Run as an unprivileged user, or set \
|
|
332
367
|
RUNNING_PROCESS_BROKER_ALLOW_PRIVILEGED=1 for isolated test environments only."
|
|
@@ -337,7 +372,7 @@ fn main() -> ExitCode {
|
|
|
337
372
|
let sid = match user_sid_hash() {
|
|
338
373
|
Ok(s) => s,
|
|
339
374
|
Err(err) => {
|
|
340
|
-
|
|
375
|
+
say_err!("running-process-broker-v2: user_sid_hash failed: {err}");
|
|
341
376
|
return ExitCode::from(1);
|
|
342
377
|
}
|
|
343
378
|
};
|
|
@@ -345,7 +380,7 @@ fn main() -> ExitCode {
|
|
|
345
380
|
let pipe_name = match v2_program_pipe(&opts.program, &sid, SCAFFOLD_PIPE_IDX) {
|
|
346
381
|
Ok(n) => n,
|
|
347
382
|
Err(err) => {
|
|
348
|
-
|
|
383
|
+
say_err!("running-process-broker-v2: v2_program_pipe failed: {err}");
|
|
349
384
|
return ExitCode::from(1);
|
|
350
385
|
}
|
|
351
386
|
};
|
|
@@ -353,7 +388,7 @@ fn main() -> ExitCode {
|
|
|
353
388
|
let socket_path = match resolve_socket_path(&pipe_name) {
|
|
354
389
|
Ok(p) => p,
|
|
355
390
|
Err(err) => {
|
|
356
|
-
|
|
391
|
+
say_err!("running-process-broker-v2: resolve_socket_path failed: {err}");
|
|
357
392
|
return ExitCode::from(1);
|
|
358
393
|
}
|
|
359
394
|
};
|
|
@@ -366,7 +401,7 @@ fn main() -> ExitCode {
|
|
|
366
401
|
let path = std::path::Path::new(&socket_path);
|
|
367
402
|
if let Some(parent) = path.parent() {
|
|
368
403
|
if let Err(err) = std::fs::create_dir_all(parent) {
|
|
369
|
-
|
|
404
|
+
say_err!(
|
|
370
405
|
"running-process-broker-v2: create_dir_all({}) failed: {err}",
|
|
371
406
|
parent.display()
|
|
372
407
|
);
|
|
@@ -379,7 +414,7 @@ fn main() -> ExitCode {
|
|
|
379
414
|
let name = match wrap_socket_name(&socket_path) {
|
|
380
415
|
Ok(n) => n,
|
|
381
416
|
Err(err) => {
|
|
382
|
-
|
|
417
|
+
say_err!("running-process-broker-v2: wrap_socket_name failed: {err}");
|
|
383
418
|
return ExitCode::from(1);
|
|
384
419
|
}
|
|
385
420
|
};
|
|
@@ -393,7 +428,7 @@ fn main() -> ExitCode {
|
|
|
393
428
|
// socket. Surface a directly-actionable message instead of
|
|
394
429
|
// a raw OS error string.
|
|
395
430
|
if is_already_bound_error(&err) {
|
|
396
|
-
|
|
431
|
+
say_err!(
|
|
397
432
|
"running-process-broker-v2: another broker is already \
|
|
398
433
|
bound at {socket_path} (program={}). Refusing to \
|
|
399
434
|
start to avoid double-bind. Stop the other broker \
|
|
@@ -403,18 +438,18 @@ fn main() -> ExitCode {
|
|
|
403
438
|
);
|
|
404
439
|
return ExitCode::from(75); // EX_TEMPFAIL — supervisor can retry after the other broker exits
|
|
405
440
|
}
|
|
406
|
-
|
|
441
|
+
say_err!("running-process-broker-v2: bind failed at {socket_path}: {err}");
|
|
407
442
|
return ExitCode::from(1);
|
|
408
443
|
}
|
|
409
444
|
};
|
|
410
445
|
|
|
411
|
-
|
|
446
|
+
say!(
|
|
412
447
|
"running-process-broker-v2 bound at {socket_path} (program={}, mode={})",
|
|
413
448
|
opts.program,
|
|
414
449
|
if opts.once { "once" } else { "loop" }
|
|
415
450
|
);
|
|
416
451
|
if let Err(err) = std::io::stdout().flush() {
|
|
417
|
-
|
|
452
|
+
say_err!("running-process-broker-v2: stdout flush failed: {err}");
|
|
418
453
|
}
|
|
419
454
|
|
|
420
455
|
let loader = Arc::new(ServiceDefinitionLoader::default_root());
|
|
@@ -431,7 +466,7 @@ fn main() -> ExitCode {
|
|
|
431
466
|
// HTTP page is an optional view onto it. Exiting here would
|
|
432
467
|
// take out working brokering because a diagnostic page could
|
|
433
468
|
// not bind.
|
|
434
|
-
|
|
469
|
+
say_err!("running-process-broker-v2: HTTP surface disabled: {err}");
|
|
435
470
|
None
|
|
436
471
|
}
|
|
437
472
|
}
|
|
@@ -446,13 +481,13 @@ fn main() -> ExitCode {
|
|
|
446
481
|
} else {
|
|
447
482
|
#[cfg(unix)]
|
|
448
483
|
if let Err(err) = install_shutdown_signal_handlers() {
|
|
449
|
-
|
|
484
|
+
say_err!("running-process-broker-v2: install shutdown signal handlers failed: {err}");
|
|
450
485
|
return ExitCode::from(1);
|
|
451
486
|
}
|
|
452
487
|
|
|
453
488
|
#[cfg(windows)]
|
|
454
489
|
if let Err(err) = install_shutdown_console_handler() {
|
|
455
|
-
|
|
490
|
+
say_err!("running-process-broker-v2: install console control handler failed: {err}");
|
|
456
491
|
return ExitCode::from(1);
|
|
457
492
|
}
|
|
458
493
|
|
|
@@ -486,12 +521,12 @@ fn main() -> ExitCode {
|
|
|
486
521
|
if let Err(err) =
|
|
487
522
|
broker_http_discovery::unpublish_http_port(&broker_v2_runtime_dir(), &started.program)
|
|
488
523
|
{
|
|
489
|
-
|
|
524
|
+
say_err!("running-process-broker-v2: could not unpublish HTTP endpoint: {err}");
|
|
490
525
|
}
|
|
491
526
|
}
|
|
492
527
|
|
|
493
528
|
if let Err(err) = flush_coverage_profile() {
|
|
494
|
-
|
|
529
|
+
say_err!("running-process-broker-v2: coverage profile flush failed: {err}");
|
|
495
530
|
return ExitCode::from(1);
|
|
496
531
|
}
|
|
497
532
|
|
|
@@ -534,12 +569,12 @@ fn start_http_surface(
|
|
|
534
569
|
broker_http_discovery::publish_http_port(runtime_dir, program, local.ip(), local.port())
|
|
535
570
|
.map_err(|e| format!("publishing {local} to {}: {e}", runtime_dir.display()))?;
|
|
536
571
|
|
|
537
|
-
|
|
572
|
+
say!(
|
|
538
573
|
"running-process-broker-v2 http at http://{local} (published to {})",
|
|
539
574
|
path.display()
|
|
540
575
|
);
|
|
541
576
|
if let Err(err) = std::io::stdout().flush() {
|
|
542
|
-
|
|
577
|
+
say_err!("running-process-broker-v2: stdout flush failed: {err}");
|
|
543
578
|
}
|
|
544
579
|
|
|
545
580
|
// Detached: the surface is read-only and stateless, so there is nothing
|
|
@@ -552,7 +587,7 @@ fn start_http_surface(
|
|
|
552
587
|
// One failed accept says nothing about the next. Logging and
|
|
553
588
|
// continuing keeps a transient error from silently taking the
|
|
554
589
|
// page down for the life of the broker.
|
|
555
|
-
|
|
590
|
+
say_err!("running-process-broker-v2: http accept failed: {err}");
|
|
556
591
|
}
|
|
557
592
|
})
|
|
558
593
|
.map_err(|e| format!("spawning the http thread: {e}"))?;
|
|
@@ -574,7 +609,7 @@ fn accept_loop(
|
|
|
574
609
|
http: Option<Arc<HttpEndpointRegistry>>,
|
|
575
610
|
) -> ExitCode {
|
|
576
611
|
if let Err(err) = listener.set_nonblocking(ListenerNonblockingMode::Accept) {
|
|
577
|
-
|
|
612
|
+
say_err!("running-process-broker-v2: set listener nonblocking failed: {err}");
|
|
578
613
|
return ExitCode::from(1);
|
|
579
614
|
}
|
|
580
615
|
|
|
@@ -590,7 +625,7 @@ fn accept_loop(
|
|
|
590
625
|
let n = inflight.fetch_add(1, Ordering::SeqCst);
|
|
591
626
|
if n >= max_inflight {
|
|
592
627
|
inflight.fetch_sub(1, Ordering::SeqCst);
|
|
593
|
-
|
|
628
|
+
say_err!(
|
|
594
629
|
"running-process-broker-v2: at MAX_INFLIGHT_HANDLERS ({max_inflight}); dropping connection",
|
|
595
630
|
);
|
|
596
631
|
drop(stream);
|
|
@@ -615,19 +650,17 @@ fn accept_loop(
|
|
|
615
650
|
if let Some(reg) = &http_handler {
|
|
616
651
|
reg.track(svc.clone());
|
|
617
652
|
}
|
|
618
|
-
|
|
619
|
-
"running-process-broker-v2 Hello service={svc:?} negotiated",
|
|
620
|
-
)
|
|
653
|
+
say!("running-process-broker-v2 Hello service={svc:?} negotiated",)
|
|
621
654
|
}
|
|
622
655
|
Err(err) => {
|
|
623
|
-
|
|
656
|
+
say_err!("running-process-broker-v2 Hello handler failed: {err}")
|
|
624
657
|
}
|
|
625
658
|
}
|
|
626
659
|
});
|
|
627
660
|
match spawn_result {
|
|
628
661
|
Ok(handler) => handlers.push(handler),
|
|
629
662
|
Err(err) => {
|
|
630
|
-
|
|
663
|
+
say_err!(
|
|
631
664
|
"running-process-broker-v2: thread spawn failed: {err}; \
|
|
632
665
|
dropping connection"
|
|
633
666
|
);
|
|
@@ -637,14 +670,14 @@ fn accept_loop(
|
|
|
637
670
|
}
|
|
638
671
|
}
|
|
639
672
|
Ok(None) => {
|
|
640
|
-
|
|
673
|
+
say!("running-process-broker-v2: shutdown requested; draining handlers");
|
|
641
674
|
drain_handlers(&mut handlers, HANDLER_DRAIN_TIMEOUT);
|
|
642
675
|
return ExitCode::SUCCESS;
|
|
643
676
|
}
|
|
644
677
|
Err(err) => {
|
|
645
678
|
// accept() errors are typically fatal (listener died);
|
|
646
679
|
// exit so a supervisor can restart us.
|
|
647
|
-
|
|
680
|
+
say_err!("running-process-broker-v2: accept failed: {err}");
|
|
648
681
|
return ExitCode::from(1);
|
|
649
682
|
}
|
|
650
683
|
}
|
|
@@ -674,7 +707,7 @@ fn reap_finished_handlers(handlers: &mut Vec<thread::JoinHandle<()>>) {
|
|
|
674
707
|
if handlers[index].is_finished() {
|
|
675
708
|
let handler = handlers.swap_remove(index);
|
|
676
709
|
if handler.join().is_err() {
|
|
677
|
-
|
|
710
|
+
say_err!("running-process-broker-v2: handler thread panicked");
|
|
678
711
|
}
|
|
679
712
|
} else {
|
|
680
713
|
index += 1;
|
|
@@ -692,7 +725,7 @@ fn drain_handlers(handlers: &mut Vec<thread::JoinHandle<()>>, timeout: Duration)
|
|
|
692
725
|
}
|
|
693
726
|
reap_finished_handlers(handlers);
|
|
694
727
|
if !handlers.is_empty() {
|
|
695
|
-
|
|
728
|
+
say_err!(
|
|
696
729
|
"running-process-broker-v2: handler drain timed out after {timeout:?}; \
|
|
697
730
|
detaching {} handler(s)",
|
|
698
731
|
handlers.len()
|
|
@@ -709,25 +742,23 @@ fn accept_one(
|
|
|
709
742
|
) -> ExitCode {
|
|
710
743
|
match listener.accept() {
|
|
711
744
|
Ok(mut stream) => {
|
|
712
|
-
|
|
745
|
+
say!("running-process-broker-v2 peer connected (--once)");
|
|
713
746
|
match handle_hello_with_deadline(&mut stream, &loader) {
|
|
714
747
|
Ok(svc) => {
|
|
715
748
|
if let Some(reg) = &http {
|
|
716
749
|
reg.track(svc.clone());
|
|
717
750
|
}
|
|
718
|
-
|
|
719
|
-
"running-process-broker-v2 Hello for service {svc:?} negotiated; exiting"
|
|
720
|
-
);
|
|
751
|
+
say!("running-process-broker-v2 Hello for service {svc:?} negotiated; exiting");
|
|
721
752
|
ExitCode::SUCCESS
|
|
722
753
|
}
|
|
723
754
|
Err(err) => {
|
|
724
|
-
|
|
755
|
+
say_err!("running-process-broker-v2: Hello handler failed: {err}");
|
|
725
756
|
ExitCode::from(1)
|
|
726
757
|
}
|
|
727
758
|
}
|
|
728
759
|
}
|
|
729
760
|
Err(err) => {
|
|
730
|
-
|
|
761
|
+
say_err!("running-process-broker-v2: accept failed: {err}");
|
|
731
762
|
ExitCode::from(1)
|
|
732
763
|
}
|
|
733
764
|
}
|
|
@@ -59,6 +59,31 @@ pub use super::super::adopt::{
|
|
|
59
59
|
// Re-export every v1 client symbol zccache consumes.
|
|
60
60
|
pub use super::super::client::{BackendConnectionRoute, BrokerClientError, RefusalKind};
|
|
61
61
|
|
|
62
|
+
/// Classify a v2 broker error the way a v1 consumer classifies a refusal.
|
|
63
|
+
///
|
|
64
|
+
/// The first piece of the `client_compat` swap described above (#532
|
|
65
|
+
/// criterion 5). Consumers branch on [`RefusalKind`] today — zccache maps
|
|
66
|
+
/// `BrokerV2Error` in exactly one place — so the swap needs the v2 error to
|
|
67
|
+
/// answer the same question before anything else can move.
|
|
68
|
+
///
|
|
69
|
+
/// `None` means "not a refusal": a dial failure, a framing error, or an I/O
|
|
70
|
+
/// error is a different category, and flattening those into a `RefusalKind`
|
|
71
|
+
/// would tell a caller the broker said no when in fact it was never reached.
|
|
72
|
+
/// That distinction drives retry behaviour, so it is worth the `Option`.
|
|
73
|
+
///
|
|
74
|
+
/// The mapping itself is deliberately delegated to [`RefusalKind::from_code`]
|
|
75
|
+
/// rather than restated. A second copy of that match is a second thing to
|
|
76
|
+
/// keep in step, and the failure would be silent: a new `ErrorCode` would
|
|
77
|
+
/// classify one way through v1 and another through v2.
|
|
78
|
+
pub fn refusal_kind(error: &super::super::client_v2::BrokerV2Error) -> Option<RefusalKind> {
|
|
79
|
+
match error {
|
|
80
|
+
super::super::client_v2::BrokerV2Error::Refused { details, .. } => {
|
|
81
|
+
Some(RefusalKind::from_code(details.code()))
|
|
82
|
+
}
|
|
83
|
+
_ => None,
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
62
87
|
#[cfg(test)]
|
|
63
88
|
mod tests {
|
|
64
89
|
use super::*;
|
|
@@ -66,6 +91,65 @@ mod tests {
|
|
|
66
91
|
/// Slice 25-A contract: every v1 broker-client + adopt symbol zccache
|
|
67
92
|
/// imports is reachable through the v2 namespace at the same TypeId.
|
|
68
93
|
/// A future upstream rename or fork catches here as a build break.
|
|
94
|
+
fn refused_v2(
|
|
95
|
+
code: crate::broker::protocol::ErrorCode,
|
|
96
|
+
) -> super::super::super::client_v2::BrokerV2Error {
|
|
97
|
+
let mut refused = crate::broker::protocol::Refused {
|
|
98
|
+
reason: "nope".into(),
|
|
99
|
+
..Default::default()
|
|
100
|
+
};
|
|
101
|
+
refused.set_code(code);
|
|
102
|
+
super::super::super::client_v2::BrokerV2Error::Refused {
|
|
103
|
+
reason: "nope".into(),
|
|
104
|
+
retry_after_ms: 0,
|
|
105
|
+
details: Box::new(refused),
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
#[test]
|
|
110
|
+
fn a_v2_refusal_classifies_the_same_as_a_v1_one() {
|
|
111
|
+
use crate::broker::protocol::ErrorCode;
|
|
112
|
+
// The property the swap depends on: a consumer branching on
|
|
113
|
+
// `RefusalKind` sees the same answer whichever client produced it.
|
|
114
|
+
// Checked across the whole enum rather than one variant, because a
|
|
115
|
+
// mapping that is right for `ServiceUnknown` and wrong for
|
|
116
|
+
// `RateLimited` still compiles and still looks tested.
|
|
117
|
+
for code in [
|
|
118
|
+
ErrorCode::ErrorVersionUnsupported,
|
|
119
|
+
ErrorCode::ErrorVersionBlocked,
|
|
120
|
+
ErrorCode::ErrorServiceUnknown,
|
|
121
|
+
ErrorCode::ErrorRateLimited,
|
|
122
|
+
ErrorCode::ErrorShuttingDown,
|
|
123
|
+
] {
|
|
124
|
+
assert_eq!(
|
|
125
|
+
refusal_kind(&refused_v2(code)),
|
|
126
|
+
Some(RefusalKind::from_code(code)),
|
|
127
|
+
"v2 refusal for {code:?} classified differently from v1"
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
#[test]
|
|
133
|
+
fn an_unknown_code_stays_unknown_rather_than_becoming_a_named_refusal() {
|
|
134
|
+
use crate::broker::protocol::ErrorCode;
|
|
135
|
+
// A code this build does not know must arrive as `Other`, not as the
|
|
136
|
+
// nearest named variant. Guessing here would tell a caller the broker
|
|
137
|
+
// said something specific that it did not.
|
|
138
|
+
let kind = refusal_kind(&refused_v2(ErrorCode::Unspecified));
|
|
139
|
+
assert_eq!(kind, Some(RefusalKind::from_code(ErrorCode::Unspecified)));
|
|
140
|
+
assert!(matches!(kind, Some(RefusalKind::Other(_))));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
#[test]
|
|
144
|
+
fn a_transport_failure_is_not_a_refusal() {
|
|
145
|
+
// The distinction that drives retry behaviour: the broker saying no
|
|
146
|
+
// is not the same as never reaching it. Flattening a dial or I/O
|
|
147
|
+
// error into a `RefusalKind` would report a decision the broker never
|
|
148
|
+
// made.
|
|
149
|
+
let io = super::super::super::client_v2::BrokerV2Error::Io(std::io::Error::other("boom"));
|
|
150
|
+
assert_eq!(refusal_kind(&io), None);
|
|
151
|
+
}
|
|
152
|
+
|
|
69
153
|
#[test]
|
|
70
154
|
fn v1_client_adopt_types_are_aliased_under_v2_namespace() {
|
|
71
155
|
use std::any::TypeId;
|