Commit Graph

700 Commits

Author SHA1 Message Date
Michael Davidsaver de63ec4496 doc 2023-09-12 19:30:27 +02:00
Michael Davidsaver 68cc69b984 client: propagate exception during early op. setup 2023-09-11 10:37:00 +02:00
Michael Davidsaver f20d958c46 client: avoid assert() with invalid forceServer
op->chan may not be set if Channel::build() throws.
eg. if forced server name is invalid for connect().
2023-09-11 10:37:00 +02:00
Michael Davidsaver 0274358453 1.2.3
PVXS Python / win64 3.10 (push) Failing after 1s
PVXS Python / win64 3.11 (push) Failing after 1s
PVXS Python / win64 3.5 (push) Failing after 1s
PVXS Python / win64 3.6 (push) Failing after 1s
PVXS Python / win64 3.7 (push) Failing after 1s
PVXS Python / win64 3.8 (push) Failing after 1s
PVXS Python / win64 3.9 (push) Failing after 1s
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 (push) Failing after 1s
PVXS EPICS / Native Linux (libc++ debug) (push) Failing after 2s
PVXS EPICS / Native Linux (WError) (push) Failing after 1s
PVXS EPICS / Native Linux (c++17) (push) Failing after 2s
PVXS EPICS / Native Linux with libevent stable (push) Failing after 1s
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
PVXS EPICS / Linux centos 7 (push) Failing after 1s
PVXS EPICS / Linux fedora latest (push) Failing after 2s
PVXS Python / linux64 test (push) Failing after 1s
PVXS Python / linux 2.7 i686 (push) Failing after 7s
PVXS Python / linux 2.7u i686 (push) Failing after 7s
PVXS Python / linux 3.5 i686 (push) Failing after 7s
PVXS Python / linux 3.6 i686 (push) Failing after 7s
PVXS Python / linux 3.7 i686 (push) Failing after 7s
PVXS Python / linux 3.8 i686 (push) Failing after 7s
PVXS Python / linux 3.9 i686 (push) Failing after 7s
PVXS Python / linux 2.7 amd64 (push) Failing after 7s
PVXS Python / linux 2.7u amd64 (push) Failing after 7s
PVXS Python / linux 3.5 amd64 (push) Failing after 7s
PVXS Python / linux 3.6 amd64 (push) Failing after 7s
PVXS Python / linux 3.7 amd64 (push) Failing after 7s
PVXS Python / linux 3.8 amd64 (push) Failing after 7s
PVXS Python / linux 3.9 amd64 (push) Failing after 7s
PVXS Python / linux 3.10 amd64 (push) Failing after 7s
PVXS Python / linux 3.11 amd64 (push) Failing after 7s
PVXS EPICS / OSX (push) Cancelled after 0s
PVXS EPICS / RTEMS5 (push) Cancelled after 0s
PVXS EPICS / vs2019 DLL (push) Cancelled after 0s
PVXS EPICS / vs2019 static (push) Cancelled after 0s
PVXS Python / osx 3.10 intel (push) Cancelled after 0s
PVXS Python / osx 3.11 intel (push) Cancelled after 0s
PVXS Python / osx 3.6 intel (push) Cancelled after 0s
PVXS Python / osx 3.7 intel (push) Cancelled after 0s
PVXS Python / osx 3.8 intel (push) Cancelled after 0s
PVXS Python / osx 3.9 intel (push) Cancelled after 0s
2023-09-07 09:33:42 +02:00
Michael Davidsaver 9a50df3163 NTTable helper actually claim to be NTTable... 2023-09-06 14:30:45 +02:00
Michael Davidsaver e9ecf7e8dd missing copyright boilerplate 2023-09-06 14:30:45 +02:00
Michael Davidsaver d7e49605cc threadOnce further reduce boilerplate
also latch failure
2023-09-04 16:17:25 +02:00
Michael Davidsaver 83e1966e93 ioc: fixup server singleton safety 2023-09-04 16:16:40 +02:00
Michael Davidsaver 45917dfdc8 update owned_ptr
owned_ptr ctor from nullptr

owned_ptr::acquire() to handle return through T** argument

owned_ptr use non-default deleter to avoid possible inappropriate use of delete operator.
2023-09-03 12:01:57 +02:00
Michael Davidsaver a79eab92e8 improve message when request2mask() would select nothing 2023-09-02 11:14:07 +02:00
Michael Davidsaver 880616aace clarify "no such member" message 2023-09-02 11:14:07 +02:00
Michael Davidsaver 92a7f324b8 Server print port 2023-09-02 11:14:07 +02:00
Michael Davidsaver 13d02530cf Add NTTable helper 2023-08-31 10:46:43 +02:00
Michael Davidsaver 058b3c914b add $PVXS_ENABLE_IPV6 2023-08-26 11:08:47 +02:00
Michael Davidsaver 9aa3755879 fix MPMCFIFO emplace()
Might pop() several while multiple writer waiting in push()
2023-08-23 11:25:45 +02:00
Michael Davidsaver 74fbc78ddf colorize log levels 2023-08-12 15:57:44 -07:00
Michael Davidsaver a2edecd492 consolidate version_information 2023-07-25 09:17:54 -07:00
Michael Davidsaver f5657e5836 minor 2023-07-25 09:17:54 -07:00
Michael Davidsaver 3b8540f520 client: try to slow down reconnect loop
when TCP connection fails early.
2023-07-25 09:17:54 -07:00
Michael Davidsaver 81917352f1 pacify gcc 12 with -Wnoexcept 2023-07-17 09:30:37 -07:00
Michael Davidsaver f9f11706a7 initialize protoTCP 2023-07-17 09:30:37 -07:00
Michael Davidsaver 522434c1dd server: op->error() dispatch
Avoid blocking in error()
2023-07-17 09:30:37 -07:00
Michael Davidsaver 8e4c1d43d0 minor 2023-07-11 17:22:23 -07:00
Michael Davidsaver f260fa2774 fix shared_array output limit off by one 2023-06-18 10:07:16 -07:00
Michael Davidsaver 2a83e49ae7 redo tree formatting 2023-06-18 10:07:16 -07:00
Michael Davidsaver 8ea613cb07 misc. 2023-06-14 11:26:31 -07:00
Michael Davidsaver 6555e98d48 make some reservations 2023-06-14 11:26:31 -07:00
Michael Davidsaver 3bfead3367 fixup copyable
Ensure type with vtable (excluding exceptions) are not copyable.
2023-06-14 11:26:31 -07:00
Michael Davidsaver 7e32389637 StructTop::members avoid resize() 2023-06-14 11:26:31 -07:00
Michael Davidsaver 05a9d845ca move SockAttach to UDPManager::Pvt 2023-06-14 11:26:31 -07:00
Michael Davidsaver b95b57945b cleanup clang-y static analysis
Some performance improvements.  eg. pass by ref.

Some paranoia pre-initialization of variables
which will be initialized later by indirection.

And some misc. cleanup.
2023-06-12 19:55:03 -07:00
Michael Davidsaver e077e9663c missing 'throw' 2023-06-12 19:55:03 -07:00
Michael Davidsaver 81194fac75 client: avoid unnecessary test.
update always consumed prior to this test.
triggers use-after-move even though update
is well defined.
2023-06-12 19:55:03 -07:00
Michael Davidsaver 5f8006fbf3 fix MCastMembership::operator< 2023-05-16 20:58:01 -07:00
Michael Davidsaver 2247c20bee quiet MONITOR exceeds window size
The destroy message triggers a spurious ERR.
2023-05-16 20:57:51 -07:00
Michael Davidsaver 13f7cd724d 1.2.0
PVXS Python / win64 3.10 (push) Failing after 1s
PVXS Python / win64 3.5 (push) Failing after 1s
PVXS Python / win64 3.6 (push) Failing after 1s
PVXS Python / win64 3.7 (push) Failing after 1s
PVXS Python / win64 3.8 (push) Failing after 1s
PVXS Python / win64 3.9 (push) Failing after 1s
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 (push) Failing after 1s
PVXS EPICS / Native Linux (WError) (push) Failing after 2s
PVXS EPICS / Native Linux (c++17) (push) Failing after 1s
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 1s
PVXS EPICS / Linux centos 7 (push) Failing after 2s
PVXS EPICS / Linux fedora 34 (push) Failing after 1s
PVXS Python / linux64 test (push) Failing after 2s
PVXS Python / linux 2.7 i686 (push) Failing after 7s
PVXS Python / linux 2.7u i686 (push) Failing after 7s
PVXS Python / linux 3.5 i686 (push) Failing after 7s
PVXS Python / linux 3.6 i686 (push) Failing after 7s
PVXS Python / linux 3.7 i686 (push) Failing after 7s
PVXS Python / linux 3.8 i686 (push) Failing after 7s
PVXS Python / linux 3.9 i686 (push) Failing after 7s
PVXS Python / linux 2.7 amd64 (push) Failing after 7s
PVXS Python / linux 2.7u amd64 (push) Failing after 7s
PVXS Python / linux 3.5 amd64 (push) Failing after 8s
PVXS Python / linux 3.6 amd64 (push) Failing after 7s
PVXS Python / linux 3.7 amd64 (push) Failing after 7s
PVXS Python / linux 3.8 amd64 (push) Failing after 7s
PVXS Python / linux 3.9 amd64 (push) Failing after 7s
PVXS Python / linux 3.10 amd64 (push) Failing after 7s
PVXS EPICS / OSX (push) Cancelled after 0s
PVXS EPICS / RTEMS5 (push) Cancelled after 0s
PVXS EPICS / vs2019 DLL (push) Cancelled after 0s
PVXS EPICS / vs2019 static (push) Cancelled after 0s
PVXS Python / osx 2.7 intel (push) Cancelled after 0s
PVXS Python / osx 3.10 intel (push) Cancelled after 0s
PVXS Python / osx 3.6 intel (push) Cancelled after 0s
PVXS Python / osx 3.7 intel (push) Cancelled after 0s
PVXS Python / osx 3.8 intel (push) Cancelled after 0s
PVXS Python / osx 3.9 intel (push) Cancelled after 0s
2023-05-14 08:57:01 -07:00
Michael Davidsaver 4d12da8720 client: don't attempt to reconnect NS during shutdown
Connection::build() can't succeed
2023-05-12 09:29:25 -07:00
Michael Davidsaver 939391590e client: clear nameServers during close() 2023-05-12 09:29:25 -07:00
Michael Davidsaver 6cd382eac7 client: Config print EPICS_PVA_NAME_SERVERS
Avoid duplicate list of env. names between updateDefs()
and operator<<
2023-05-12 09:29:25 -07:00
Michael Davidsaver 45f8328f04 server: add MonitorStat::nSquash 2023-05-12 09:29:25 -07:00
Michael Davidsaver a36dd2a9cc fix monitor pipeline and finish() 2023-05-12 09:29:25 -07:00
Michael Davidsaver a4e974def9 client: fix batch pop() of exception 2023-05-11 10:50:08 -07:00
Michael Davidsaver af3c870b7a Value::copyIn() add Array -> Array w/ implied alloc+convert 2023-05-11 10:50:08 -07:00
Michael Davidsaver 4029f5ac3c prevent simple Any self-assignment 2023-05-11 10:50:08 -07:00
Michael Davidsaver e0a8572c2d server: fix stats(reset=true) 2023-05-11 10:48:06 -07:00
Michael Davidsaver aef69c9f25 redo INST_COUNTER
Allow for use by pvxsIoc
2023-05-09 22:24:19 -07:00
Michael Davidsaver afafa09547 ioc: revise qsrv 2 prototype
ioc: check for mis-matched onStartSubscription()/onDisableSubscription()

ioc: fix subscription lifetime

ioc: catch exceptions in dbEvent callbacks

ioc: avoid unnecessary virtual

ioc: minor

ioc: fix qsrv -S

ioc: qsrvGroupSourceInit() catch+log

ioc: runOnServer avoid std::function

ioc: cleanup and simplifications.

Avoid some redundant std::map lookups.
Make Group partially const to prevent implicit ctor.

ioc: avoid typedefs only used once

ioc: overhaul Group::show().  shows triggers

ioc: MappingType

ioc: pvxsgl -> pvxgl

ioc: separate group config singleton from server singleton

ioc: remove unnecessary forward declarations

ioc: restructure pvxsInitHook

ioc: qsrv runtime disable by default

ioc: compat w/ older Base

ioc: link pvxsIoc w/ DB libs

ioc: Channel proper detection of invalid PV

ioc: no need to keep vector<dbCommon*> around

ioc: fix initial group update for mappings w/o dbChannel

ioc: redo testing

split out group tests, only run with Base >= 7.0

ioc: minor

ioc: loc_bad_alloc

ioc: avoid symbol/DTYP clash with pva2pva

ioc: test record alias in group json

ioc: test put failure when SPC_NOMOD and DISP=1

ioc: test channel filters

ioc: unnecessary capture

ioc: avoid sharing Value between multiple subscriptions

It is possible to create two subscriptions through the same channel.

ioc: group subscription include queueSize

ioc: eliminate unused atomicMonitor

ioc: consolidate GroupSource::get()

avoid some indirection

ioc: pvRequest override of atomicPutGet

ioc: fix group non-atomic put

ioc: test asTrap hooks

ioc: test putOrder also sets field order

ioc: simplify GroupConfigProcessor::loadConfigFiles()

Also ensure that groupMapMutex is held

ioc: testqgroup cover JSON def.

ioc: dbLoadGroup() use macros

ioc: pvxsl() take integer argument

ioc: display.form and info(Q:form

ioc: "NO_ALARM" -> ""

ioc: use dbServer

at least for informational callbacks.

ioc: consolidate createRequestAndSubscriptionHandlers()

ioc: eliminate ChannelAndLock

properties dbChannel doesn't need a separate DBManyLock

ioc: test that putOrder also controls field order

ioc: MappingType -> MappingInfo

Handle info(Q:time:tag
Add +type:"const"

ioc: cleanup includes

ioc: test dbNotifyCancel()

ioc: inline checkForTrailingCommentsAtEnd()
2023-05-09 22:24:05 -07:00
Michael Davidsaver cf4b568e64 testPlan(): select isolated network configuration for QSRV 2023-05-09 10:17:32 -07:00
Michael Davidsaver e7a0775d76 server: Add extra call() to Server::stop()
Not a full solution, though should prevent test1000
from occasionally leaving evbase workers dangling

> not ok 1001 - Instance leak ServerGPRConnect : 217
> not ok 1002 - Instance leak SharedPVImpl : 984
> not ok 1003 - Instance leak StructTop : 1202
> not ok 1004 - Instance leak UDPListener : 2
> not ok 1005 - Instance leak evbase : 2
> not ok 1006 - Instance leak evbaseRunning : 2
2023-05-09 10:17:32 -07:00
Michael Davidsaver 6e92a1a3cb NTEnum add display.description 2023-05-08 10:05:24 -07:00