Commit Graph

986 Commits

Author SHA1 Message Date
Michael Davidsaver 94f2ae1e2c doc 2023-09-15 15:31:18 +02:00
Simon Rose 6fdd4989bd Fix size/type typo 2023-09-15 15:31:18 +02:00
Michael Davidsaver de63ec4496 doc 2023-09-12 19:30:27 +02:00
Michael Davidsaver ec0b21d27c ioc: ensure db_cancel_event() before ~MonitorControlOp
previously, ~SingleSourceSubscriptionCtx would ~MonitorControlOp
before the base class ~SubscriptionCtx would db_cancel_event()
leading to a use-after-free.
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 3eea56fbc9 gcovr --gcov-ignore-parse-errors
workaround interop. issue with gcc 12 and gcovr 5.2
2023-09-07 10:52:04 +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
1.2.3
2023-09-07 09:33:42 +02:00
Michael Davidsaver cb662cd0b1 doc 2023-09-07 09:26:22 +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 59164a63f7 pvxs::ioc::testPrepare() 2023-09-04 16:17:25 +02:00
Michael Davidsaver 39e5ecb308 ioc: accommodate USE_TYPED_DBEVENT 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 c0429dfa9a doc update 2023-08-31 11:32:09 +02:00
Michael Davidsaver 13d02530cf Add NTTable helper 2023-08-31 10:46:43 +02:00
Henrique Silva 877dc12d35 Include table with all environment variables 2023-08-31 10:46:43 +02:00
Henrique Silva ac6d202db2 Fix typo on server documentation 2023-08-31 10:46:43 +02:00
Michael Davidsaver b6072ad142 ioc: warn when group defines no +trigger 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 b0c7c8fcd0 ioc: fill in display.precision 2023-08-22 15:09:42 +02:00
Michael Davidsaver 09a3f018a2 switch ci-scripts to epics-base 2023-08-22 15:09:42 +02:00
Michael Davidsaver 064a1f64f7 ci: appveyor remove skip_commits
appveyor bases this decision on the last commit in the
branch, which is frequently not representative...
2023-08-14 21:17:42 -07:00
Michael Davidsaver 82286a5ae5 fix testnamesrv
ensure nameserver actually used
2023-08-12 15:57:44 -07:00
Michael Davidsaver 74fbc78ddf colorize log levels 2023-08-12 15:57:44 -07:00
Érico Nogueira f0e76c00ac fix pvxlist help message
piping into pvxlist doesn't work, but passing the servers as argument to
it does
2023-08-07 08:13:53 -07:00
Michael Davidsaver aba04ee952 ci: rpath info 2023-08-02 17:20:13 -07:00
Michael Davidsaver a2d2721385 test SockEndpoint parsing 2023-08-02 17:20:13 -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 60d68940fb missing header 2023-07-17 09:30:37 -07:00
Michael Davidsaver 812eb8bc85 ci: test with latest fedora 2023-07-17 09:30:37 -07:00
Michael Davidsaver 88f09659e4 Workaround apparent g++12 spurious error
In file included from ../testshared.cpp:12:
In constructor ‘pvxs::shared_array<E, Enable>::shared_array(size_t, V) [with V = std::nullptr_t; E = std::unique_ptr<unsigned int>; Enable = void]’,
    inlined from ‘void {anonymous}::testComplex()’ at ../testshared.cpp:225:57:
../../src/pvxs/sharedArray.h:288:17: error: pointer used after ‘void operator delete [](void*, std::size_t)’ [-Werror=use-after-free]
  288 |         :base_t(new _E_non_const[c], c)
      |                 ^~~~~~~~~~~~~~~~~~~
In member function ‘void pvxs::detail::sa_default_delete<E>::operator()(E*) const [with E = std::unique_ptr<unsigned int>]’,
    inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, _Deleter, _Alloc) [with _Ptr = std::unique_ptr<unsigned int>*; _Deleter = pvxs::detail::sa_default_delete<std::unique_ptr<unsigned int> >; _Alloc = std::allocator<void>; <template-parameter-2-4> = void; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/12/bits/shared_ptr_base.h:958:11,
    inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, _Deleter) [with _Ptr = std::unique_ptr<unsigned int>*; _Deleter = pvxs::detail::sa_default_delete<std::unique_ptr<unsigned int> >; <template-parameter-2-3> = void; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/12/bits/shared_ptr_base.h:939:57,
    inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Yp*, _Deleter) [with _Yp = std::unique_ptr<unsigned int>; _Deleter = pvxs::detail::sa_default_delete<std::unique_ptr<unsigned int> >; <template-parameter-2-3> = void; _Tp = std::unique_ptr<unsigned int>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/12/bits/shared_ptr_base.h:1478:17,
    inlined from ‘std::shared_ptr<_Tp>::shared_ptr(_Yp*, _Deleter) [with _Yp = std::unique_ptr<unsigned int>; _Deleter = pvxs::detail::sa_default_delete<std::unique_ptr<unsigned int> >; <template-parameter-2-3> = void; _Tp = std::unique_ptr<unsigned int>]’ at /usr/include/c++/12/bits/shared_ptr.h:232:48,
    inlined from ‘pvxs::detail::sa_base<E>::sa_base(A*, size_t) [with A = std::unique_ptr<unsigned int>; E = std::unique_ptr<unsigned int>]’ at ../../src/pvxs/sharedArray.h:136:10,
    inlined from ‘pvxs::shared_array<E, Enable>::shared_array(size_t, V) [with V = std::nullptr_t; E = std::unique_ptr<unsigned int>; Enable = void]’ at ../../src/pvxs/sharedArray.h:288:39,
    inlined from ‘void {anonymous}::testComplex()’ at ../testshared.cpp:225:57:
../../src/pvxs/sharedArray.h:92:35: note: call to ‘void operator delete [](void*, std::size_t)’ here
   92 |     void operator()(E* e) const { delete[] e; }
      |                                   ^~~~~~~~~~
2023-07-17 09:30:37 -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 bb7b82f895 ci: install gdb 2023-07-11 17:22:23 -07:00
Michael Davidsaver c55cca85b9 1.2.2
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 2s
PVXS EPICS / Native Linux (libc++ debug) (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 1s
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 2s
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 7s
PVXS Python / linux 3.6 amd64 (push) Failing after 7s
PVXS Python / linux 3.7 amd64 (push) Failing after 8s
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
1.2.2
2023-06-28 20:09:59 -07:00
Michael Davidsaver e51954529a ioc: avoid *NULL on exit when partially initialized 2023-06-27 08:00:14 -07:00
Michael Davidsaver d05cf344b3 GHA update 2023-06-26 13:33:46 -07:00
Michael Davidsaver ea9068a10b 1.2.2a1 2023-06-26 13:05:53 -07:00
Michael Davidsaver a02b6e9730 ioc: improve long string detection
Partially replicate the '$' handling logic of dbChannelCreate()
in the case where no '$' was provided.
2023-06-18 10:07:16 -07:00