Resolve a per-supervisor-run temp path /logs/.supervisor- * (falls back to the CWD if the cache dir is unresolvable). Used for the crash- * attribution marker and the quarantine list during the recovery re-run. */
| 7629 | * (falls back to the CWD if the cache dir is unresolvable). Used for the crash- |
| 7630 | * attribution marker and the quarantine list during the recovery re-run. */ |
| 7631 | static void supervisor_tmp_path(char *out, size_t out_sz, const char *suffix) { |
| 7632 | const char *cdir = cbm_resolve_cache_dir(); |
| 7633 | if (cdir && cdir[0]) { |
| 7634 | char logdir[CBM_SZ_1K]; |
| 7635 | snprintf(logdir, sizeof(logdir), "%s/logs", cdir); |
| 7636 | cbm_mkdir_p(logdir, 0755); |
| 7637 | snprintf(out, out_sz, "%s/.supervisor-%d%s", logdir, (int)getpid(), suffix); |
| 7638 | } else { |
| 7639 | snprintf(out, out_sz, ".supervisor-%d%s", (int)getpid(), suffix); |
| 7640 | } |
| 7641 | } |
| 7642 | |
| 7643 | /* Parse the worker's marker JOURNAL ("S <rel>" / "D <rel>" lines, one event |
| 7644 | * per line — see cbm_index_mark_start/done) into the crash/hang SUSPECT set: |
no test coverage detected