0eebeb8d79614e07a1ea59bbeeb607ff0b89bd00
A non-atomic group get (record[atomic=false]) gated each field read on `pDbChannel && leafNode`, so fields with no dbChannel were silently skipped. MappingInfo::Const fields carry a constant value rather than a channel, so a non-atomic get returned them at their cloneEmpty() defaults (0 / 0.0 / ""), while the atomic get and monitor paths return the constant. Mirror the atomic branch's field selection in the non-atomic branch: skip only Proc/Structure and read every other field, taking the per-field DBLocker only when a channel is present. getGroupField() already handles channel-less fields via field.info, so Const fields populate correctly.
PVXS - PVAccess protocol library
VCS - https://github.com/epics-base/pvxs
Documentation - https://epics-base.github.io/pvxs/
Languages
C++
95.9%
Python
2.1%
Makefile
1.3%
Shell
0.3%
CMake
0.2%
Other
0.1%