Files
eUi/include/euiExitCodes.h
RCiRoot e3f7733316 V20260829-2.6.1
完成框架目录和模块重构;新增核心、单例、工具、加密及框架 SDK;统一任务、相机和 RPC 接口,并增加离线检测、相机标定、备份恢复、版本管理、崩溃守护和心跳监控功能。
2026-09-20 16:01:09 +08:00

30 lines
1.4 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#pragma once
// 业务进程与 supervisor 之间的退出码协议。
//
// launcher(src/launcher)以独立进程拉起业务进程(eui_app.exe),
// 通过进程退出码判断该如何处理,从而把“崩溃后重启”从故障进程内迁移到
// 外部守护进程(见 doc/Crashpad与WER迁移清单.md 第 6 节)。
//
// 约定:
// - EUI_EXIT_OK 正常退出 / 用户主动退出,supervisor 不再拉起。
// - EUI_EXIT_RESTART 业务进程请求一次“有意重启”(升级、用户主动重启),
// 不计入崩溃预算,supervisor 立即重新拉起。
// - 其它任意非 0 值 视为异常/崩溃退出(含被 Crashpad handler 终止),
// 计入崩溃预算,supervisor 限频重启并在连续崩溃时熔断。
//
// 业务进程只有在“被 supervisor 守护”时(环境变量 EUI_SUPERVISED=1 存在)
// 才应返回 EUI_EXIT_RESTART;直接启动时仍走自身的重启逻辑以保持兼容。
#define EUI_EXIT_OK 0
#define EUI_EXIT_RESTART 90
// supervisor 自身的退出码。
#define EUI_SUP_EXIT_OK 0
#define EUI_SUP_EXIT_CIRCUIT_BROKEN 87 // 连续崩溃触发熔断,已停止自动重启。
#define EUI_SUP_EXIT_LAUNCH_FAILED 88 // 无法拉起业务进程。
// supervisor 启动业务进程时注入的环境变量名与值。
#define EUI_SUPERVISED_ENV L"EUI_SUPERVISED"
#define EUI_SUPERVISED_VALUE L"1"