完成框架目录和模块重构;新增核心、单例、工具、加密及框架 SDK;统一任务、相机和 RPC 接口,并增加离线检测、相机标定、备份恢复、版本管理、崩溃守护和心跳监控功能。
30 lines
1.4 KiB
C
30 lines
1.4 KiB
C
#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"
|