diff --git a/MobileGL/ConfigLoader.cpp b/MobileGL/ConfigLoader.cpp index f63eed9f..df05e2e8 100644 --- a/MobileGL/ConfigLoader.cpp +++ b/MobileGL/ConfigLoader.cpp @@ -137,8 +137,9 @@ namespace MobileGL::MG_ConfigLoader { } // Everything the system files say, the backend file ahead of client.conf (first emplace - // wins). Re-read on every call: callers are few (Init, and a handful of lookups before it), - // and a file that changed between two processes' starts must not be served stale. + // wins). Re-read on every call: callers are few (Init, a handful of lookups before it, and a + // verify build's comparator when it arms), and a file that changed between two processes' + // starts must not be served stale. void ReadSystemConfig(UnorderedMap& out, Bool log) { if (IsServerProcess()) return; ReadBackendFile(FilePathSetting("MOBILEGL_BACKEND_FILE", kDefaultBackendFile), out); diff --git a/MobileGL/Init.h b/MobileGL/Init.h index 78468e25..49edb656 100644 --- a/MobileGL/Init.h +++ b/MobileGL/Init.h @@ -28,7 +28,8 @@ namespace MobileGL { void Init(); // One setting resolved the way Init() resolves it - the environment, then the system // configuration files (ConfigLoader.cpp) - for the few readers that must decide something - // before MobileGL initializes. False when neither names it. + // before MobileGL initializes, and for a verify build's comparator, which reads + // MOBILEGL_PIPE_VERIFY_CORRUPT when it arms. False when neither names it. Bool LookupSetting(const char* key, String& outValue); } // namespace MG_ConfigLoader diff --git a/MobileGL/MG_Pipe/FatalFamilies.def b/MobileGL/MG_Pipe/FatalFamilies.def index d7648c94..6996f46c 100644 --- a/MobileGL/MG_Pipe/FatalFamilies.def +++ b/MobileGL/MG_Pipe/FatalFamilies.def @@ -31,7 +31,7 @@ X(UnnamedIdentity, ProtocolCorruption, "a per-context memo was consulted with a null context identity") \ X(PipeLegacyMemosDisabled, ProtocolCorruption, "a subsystem bit is clear and this build compiles no legacy arm to fall back to (unreachable since P13 W3b fixed bits 0-13 on)") \ X(PipeSubsystemsFixedOn, ProtocolCorruption, "MOBILEGL_PIPE_PUSH cleared one of subsystem bits 0-13, which P13 fixed on") \ - X(PipeVerifyBadKnob, ProtocolCorruption, "a MOBILEGL_PIPE_VERIFY/POISON knob named a verb or field that does not exist") \ + X(PipeVerifyBadKnob, ProtocolCorruption, "MOBILEGL_PIPE_VERIFY_CORRUPT named a field that does not exist") \ X(PipeVerifyDiffer, ProtocolCorruption, "the verify comparator found a pushed field differing from the live one") \ X(UnexpectedMapAccept, ProtocolCorruption, "a persistent-map accept arrived where the protocol permits none") \ X(UncarriedInitialBytes, ProtocolCorruption, "a producer's initial bytes were required on the wire and absent") \