Michael Davidsaver
b568e93eb1
doc
2026-05-24 15:12:54 -07:00
Michael Davidsaver
80a83c4ace
doc: discuss GDB and stack traces
2026-05-24 15:08:08 -07:00
Michael Davidsaver
abce868dbb
cpy3.8 build ml2010, drop 3.13t
...
Switch source build to 3.14 (not t)
2026-05-24 14:41:43 -07:00
Michael Davidsaver
5353b02a33
ioc: fix single PUT with 'record[block=true, process=true]'
...
No point to wait for processing, when none will occur.
However, wait as requested when Unset or True.
Somewhere between 409b432dd96b65e8c69d35fe8810081b8ff87a0a
and 93e4d3eef3
the sense of this test was lost.
2026-05-24 14:41:43 -07:00
Sang Woo Kim
7ae3ca84c0
client, server: interpret monitor ackAny percentage as a fraction
...
A "N%" ackAny was computed as percent*queueSize on the client and
percent*limit on the server, without dividing by 100, then clamped to
the queue size. Any percentage >= 1% therefore saturated to the full
queue, so ackAny="50%" behaved as 100% and defeated percentage-style
ack control.
Divide the clamped percent by 100 on both the client (clientmon.cpp)
and server (servermon.cpp) parsing paths.
Note: this changes the negotiated ack threshold for existing
percentage ackAny requests.
2026-05-24 14:13:25 -07:00
Sang Woo Kim
e5ec952e1d
server: report monitor squash count in MonitorStat::nSquash
...
ServerMonitorControl::stats() assigned mon->nSquash to stat.nQueue,
overwriting the queue depth set just above, and never assigned
stat.nSquash. Callers of MonitorControlOp::stats() therefore could
not observe the real unsent-queue depth once squashing had occurred,
and never received the squash count in its documented field.
Assign mon->nSquash to stat.nSquash.
2026-05-24 14:13:25 -07:00
Sang Woo Kim
de3fb5d915
qsrv: pvaLink getTimeStampTag return remote timeStamp.userTag
...
pvaLink cached the remote timeStamp.userTag in fld_usertag but never
assigned snap_tag from it (pvalink.h initialises snap_tag to 0 and no
code path updated it), so pvaGetTimeStampTag() always returned 0.
Records reading a user tag through a PVA link lost that metadata.
Assign snap_tag from fld_usertag in the same snapshot block that
derives snap_time from fld_seconds/fld_nanoseconds, defaulting to 0
when the field is absent.
2026-05-24 14:13:25 -07:00
Michael Davidsaver
bf571f6eb2
test: check that UTAG is propagated by pvalink
2026-05-24 14:13:25 -07:00
Sang Woo Kim
07c2de1548
qsrv: pvaLink onTypeChange must clear fld_seconds
...
Add fld_seconds to the clear-list (replacing the duplicate fld_severity).
2026-05-24 14:13:25 -07:00
Sang Woo Kim
33798897fb
qsrv: SecurityLogger must restore dbChannel addr.pfield
...
Missing initialization of SecurityLogger::pchan
prevents restore logic from triggering.
Remove default value so that compiler complains if used
without initialization.
2026-05-24 14:13:25 -07:00
Sang Woo Kim
4f45ffab44
test non-atomic group get must read channel-less Const fields
...
Add testConstNonAtomicGet(): a non-atomic get of the tst:const group
asserts s.i/s.d/s.s == 14/1.5/"hello". Fails before the fix (all defaults),
passes after.
2026-05-24 14:13:25 -07:00
Michael Davidsaver
46f8c53114
ioc: put fix permissions with non-atomic group
...
... containing const/structure mappings
2026-05-24 14:13:25 -07:00
Sang Woo Kim
0eebeb8d79
fix(qgroup): non-atomic group get must read channel-less Const fields
...
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.
2026-05-24 14:13:25 -07:00
Michael Davidsaver
5b5ce4b28f
test: testConst() not atomic
2026-05-24 14:13:25 -07:00
Michael Davidsaver
825a8c2ae7
client: RequestFL lock during dtor
...
pacify valgrind over what is likely a false positive
2026-05-24 14:13:25 -07:00
Michael Davidsaver
7ab3ef0576
client: minor optimization
...
Don't need to hold RequestFL lock when cloning prototype
2026-05-24 14:13:25 -07:00
Michael Davidsaver
485ff0a9da
quiet DRD error reports
...
testget
Complaint is of race between wait and Context cleanup.
shared_ptr<info_t> probably makes this safe, but
no down-side to explicit shutdown.
2026-05-24 14:13:25 -07:00
Michael Davidsaver
781a96e110
client: query user/host name once on Context creation
2026-05-24 14:13:25 -07:00
Michael Davidsaver
1f7e1b0fab
server: minor optimization
2026-05-24 14:13:25 -07:00
Michael Davidsaver
3c0154b413
ioc: avoid enumerating roles for each PUT
...
Just once on first PUT to each Channel
2026-05-24 14:13:25 -07:00
Michael Davidsaver
78596286d2
ioc: localize local function declarations
2026-05-23 17:16:02 -07:00
Michael Davidsaver
054b3f28c8
server: remove redundant extra bind handling
...
Made redundant by preceding 'continue' condition
added with 266ee52704
2026-05-23 17:16:02 -07:00
Michael Davidsaver
f8d6192983
server: monitor TX check buffer level on each iteration
GH pages / generate (push) Failing after 1s
PVXS EPICS / Native Linux with 3.14 (push) Failing after 1s
PVXS EPICS / Native Linux with 3.15 (push) Failing after 1s
PVXS EPICS / Native Linux with clang ubsan (push) Failing after 1s
PVXS EPICS / Native Linux with clang (push) Failing after 1s
PVXS EPICS / Native Linux (libc++ debug) (push) Failing after 1s
PVXS EPICS / Native Linux (WError) (push) Failing after 1s
PVXS EPICS / Native Linux (c++17) (push) Failing after 1s
PVXS EPICS / Native Linux with libevent stable (push) Failing after 1s
PVXS EPICS / Cross mingw64 DLL (push) Failing after 1s
PVXS EPICS / Cross mingw64 static (push) Failing after 1s
PVXS EPICS / Native Linux with 7.0.2 (push) Failing after 1s
PVXS EPICS / Linux CentOS 7 (push) Failing after 10s
Python / pycp27-cp27m manylinux1_x86_64 (push) Failing after 2s
Spell Check / Spell Check (push) Successful in 8s
PVXS EPICS / Linux fedora latest (push) Failing after 9s
Python / pycp37-cp37m manylinux2010_x86_64 (push) Failing after 1s
Python / pycp310-cp310 manylinux2014_x86_64 (push) Failing after 1s
Python / pycp311-cp311 manylinux2014_x86_64 (push) Failing after 1s
Python / pycp312-cp312 manylinux2014_x86_64 (push) Failing after 1s
Python / pycp313-cp313 manylinux2014_x86_64 (push) Failing after 1s
Python / pycp313-cp313t manylinux2014_x86_64 (push) Failing after 1s
Python / py3.10 win_amd64 (push) Failing after 55s
Python / pycp38-cp38 manylinux2014_x86_64 (push) Failing after 1s
Python / pycp39-cp39 manylinux2014_x86_64 (push) Failing after 1s
Python / py3.11 win_amd64 (push) Failing after 7s
Python / pycp314-cp314 manylinux_2_28_x86_64 (push) Failing after 1s
Python / pycp314-cp314t manylinux_2_28_x86_64 (push) Failing after 1s
GH pages / publish (push) Skipped
Python / py3.12 win_amd64 (push) Failing after 6s
Python / py3.13 win_amd64 (push) Failing after 6s
Python / py3.14 win_amd64 (push) Failing after 5s
Python / py3.8 win_amd64 (push) Failing after 4s
Release artifacts / artifacts (push) Failing after 2m32s
PVXS EPICS / vs2022 DLL (push) Cancelled after 0s
PVXS EPICS / OSX (push) Cancelled after 0s
PVXS EPICS / RTEMS5 (push) Cancelled after 0s
PVXS EPICS / vs2022 static (push) Cancelled after 0s
Python / py3.11 macosx_11_0_universal2 (push) Cancelled after 0s
Python / py3.10 macosx_11_0_universal2 (push) Cancelled after 0s
Python / py3.12 macosx_11_0_universal2 (push) Cancelled after 0s
Python / py3.13 macosx_11_0_universal2 (push) Cancelled after 0s
Python / py3.14 macosx_11_0_universal2 (push) Cancelled after 0s
Python / py3.8 macosx_11_0_universal2 (push) Cancelled after 0s
Python / py3.9 macosx_11_0_universal2 (push) Cancelled after 0s
Python / combine (push) Cancelled after 0s
2026-05-16 17:55:40 -07:00
Andrew Johnson
3d854e492c
Run our cfg/CONFIG files when INSTALL_LOCATION set
2026-04-20 04:30:53 -07:00
Jure Varlec
1d481d5be1
doc: show how to create arrays of NTScalar
2026-04-02 07:25:44 -07:00
Michael Davidsaver
6f7942e4af
doc
2026-02-27 08:19:09 +00:00
Michael Davidsaver
9d448164fa
testpvalink: more parser coverage
2026-02-27 08:16:23 +00:00
Michael Davidsaver
484960a1b8
test helpers use posix regex on RTEMS
...
GCC circa RTEMS 4.9 and 5 seems to crash with some regular expressions.
2026-02-27 08:16:23 +00:00
Michael Davidsaver
3a777e1022
shared_array: mark additional methods noexcept
2026-02-27 08:16:23 +00:00
Michael Davidsaver
5ee956d047
default for Source::List::dynamic
2026-02-27 08:16:23 +00:00
Michael Davidsaver
52186e3587
test cancel of PUT
2026-02-27 08:16:23 +00:00
Michael Davidsaver
1e9a22f9a4
test ackAny
2026-02-27 08:16:23 +00:00
Michael Davidsaver
ef40c21d8d
test server-side disconnect
2026-02-27 08:16:23 +00:00
Michael Davidsaver
1d182cb031
test iocsh functions
2026-02-27 08:16:23 +00:00
Michael Davidsaver
ef7ef0f158
ioc: promote DBE_ALARM only to also fetch value
...
When a client subscribes to DBE_ALARM only, also
fetch the value associated with the alarm state change.
eg. used by an alarm manager
2026-02-27 08:16:23 +00:00
Michael Davidsaver
70547d1481
testtype: extend
2026-02-27 08:16:23 +00:00
Michael Davidsaver
d9a87aa786
testPartialXCode
2026-02-27 08:16:23 +00:00
mdavidsaver
55a8faf007
Clarify SharedPV::post()
...
For SharedPV::post(), mention Value::cloneEmpty()
2026-02-27 08:14:29 +00:00
Jure Varlec
c3f63fcbe8
doc: add ticker example to the docs
2026-02-27 08:14:29 +00:00
Jure Varlec
bf51e44b7b
doc: explain type requirements for post()
...
Currently, the user learns that `SharedPV::post()` requires the posted
value to be created from the same type instance as the value given to
`SharedPV::open()` only when they try to do it differently and are
presented with an error message. This is an attempt to document this
requirement.
2026-02-27 08:14:29 +00:00
Michael Davidsaver
525c711ee5
server: reduce log spam from beacon tx
...
Demote repeated beacon TX failure to debug.
Upgrade first success after previous failure.
Track per destination.
2026-02-11 12:08:52 -08:00
Michael Davidsaver
2d96c9b7d7
doc
2026-02-11 12:07:04 -08:00
Michael Davidsaver
d0ee5b2ab6
1.5.1
Python / py3.10 win_amd64 (push) Failing after 4s
Python / py3.11 win_amd64 (push) Failing after 4s
Python / py3.12 win_amd64 (push) Failing after 4s
Python / py3.13 win_amd64 (push) Failing after 4s
Python / py3.14 win_amd64 (push) Failing after 4s
Python / py3.8 win_amd64 (push) Failing after 4s
PVXS EPICS / Native Linux with 3.14 (push) Failing after 2s
PVXS EPICS / Native Linux with 3.15 (push) Failing after 2s
PVXS EPICS / Native Linux with clang ubsan (push) Failing after 2s
PVXS EPICS / Native Linux with clang (push) Failing after 2s
PVXS EPICS / Native Linux (libc++ debug) (push) Failing after 2s
PVXS EPICS / Native Linux (WError) (push) Failing after 2s
PVXS EPICS / Native Linux (c++17) (push) Failing after 2s
PVXS EPICS / Native Linux with libevent stable (push) Failing after 2s
PVXS EPICS / Cross mingw64 DLL (push) Failing after 2s
PVXS EPICS / Cross mingw64 static (push) Failing after 2s
PVXS EPICS / Native Linux with 7.0.2 (push) Failing after 2s
GH pages / generate (push) Failing after 2s
PVXS EPICS / Linux fedora latest (push) Failing after 8s
PVXS EPICS / Linux CentOS 7 (push) Failing after 11s
Python / pycp37-cp37m manylinux2010_x86_64 (push) Failing after 2s
Python / pycp27-cp27m manylinux1_x86_64 (push) Failing after 2s
Spell Check / Spell Check (push) Successful in 9s
Python / pycp310-cp310 manylinux2014_x86_64 (push) Failing after 2s
Python / pycp311-cp311 manylinux2014_x86_64 (push) Failing after 2s
Python / pycp312-cp312 manylinux2014_x86_64 (push) Failing after 2s
Python / pycp313-cp313 manylinux2014_x86_64 (push) Failing after 2s
Python / pycp313-cp313t manylinux2014_x86_64 (push) Failing after 2s
Python / pycp38-cp38 manylinux2014_x86_64 (push) Failing after 2s
Python / pycp39-cp39 manylinux2014_x86_64 (push) Failing after 1s
Python / pycp314-cp314 manylinux_2_28_x86_64 (push) Failing after 1s
Python / pycp314-cp314t manylinux_2_28_x86_64 (push) Failing after 1s
GH pages / publish (push) Skipped
Release artifacts / artifacts (push) Failing after 2m22s
Python / py3.11 macosx_11_0_universal2 (push) Cancelled after 0s
Python / py3.12 macosx_11_0_universal2 (push) Cancelled after 0s
Python / py3.13 macosx_11_0_universal2 (push) Cancelled after 0s
Python / py3.14 macosx_11_0_universal2 (push) Cancelled after 0s
Python / py3.8 macosx_11_0_universal2 (push) Cancelled after 0s
Python / py3.9 macosx_11_0_universal2 (push) Cancelled after 0s
PVXS EPICS / OSX (push) Cancelled after 0s
PVXS EPICS / RTEMS5 (push) Cancelled after 0s
PVXS EPICS / vs2022 DLL (push) Cancelled after 0s
PVXS EPICS / vs2022 static (push) Cancelled after 0s
Python / py3.10 macosx_11_0_universal2 (push) Cancelled after 0s
Python / combine (push) Cancelled after 0s
1.5.1
2026-02-11 07:20:03 -08:00
Michael Davidsaver
49b73c1069
1.5.1a1
2026-02-09 18:34:14 -08:00
Michael Davidsaver
e4293c795a
pkg_resources removal
2026-02-09 18:02:00 -08:00
Michael Davidsaver
19a3441c88
doc: toc reorg
2026-02-01 15:46:40 -08:00
Michael Davidsaver
a6f75c1015
doc: client operation exceptions
2026-02-01 15:46:40 -08:00
Michael Davidsaver
98737e2c94
doc: unittest.h
2026-02-01 15:46:40 -08:00
Michael Davidsaver
b7c2d1b2c4
doc: shared_array
2026-02-01 15:46:40 -08:00
Michael Davidsaver
a4259c7376
doc: reorganize netconfig
2026-01-28 17:01:49 -08:00