Commit Graph

780 Commits

Author SHA1 Message Date
Michael Davidsaver 6dba1d91f6 fix minor
Implicitly treated as 'char' due to fun type casting rules...

a351943927
2026-01-28 17:01:49 -08:00
Michael Davidsaver a351943927 minor 2026-01-26 17:20:40 -08:00
Michael Davidsaver a7d77da776 SO_NOSIGPIPE
OSX specific means to disable SIGPIPE for individual sockets
2026-01-19 18:39:11 -08:00
Michael Davidsaver 6a53998a1c epicsSignalInstallSigPipeIgnore()
Maybe only relevant with OSX now?

https://github.com/epics-base/pvxs/issues/149
2026-01-19 18:34:55 -08:00
Michael Davidsaver 48b260d008 remove residual ifdef AF_INET6
Incomplete leftovers of an early attempt to support
RTEMS "legacy" IP stack, which has no IPv6 support.
2026-01-18 08:11:03 -08:00
Michael Davidsaver 57f9468c86 udp: clarify orig/reply addressing, fix mcast handling
... in mshim and vct

vct expand from addr to endpoint parsing
2026-01-06 15:57:43 -08:00
Michael Davidsaver 444d1ff1f1 colorize outer exception printing 2026-01-05 14:40:26 -08:00
Michael Davidsaver 57b36828cf doc 2025-11-20 16:14:37 -08:00
Michael Davidsaver 8fb2931e05 pvxsr show libevent reactor method name 2025-11-20 16:14:37 -08:00
Michael Davidsaver 6446ab44ec pacify cppcheck 2025-11-20 16:14:37 -08:00
Michael Davidsaver b0b0bc8d7e client: respect forcedServer on failed CREATE_CHANNEL 2025-11-20 16:14:37 -08:00
Michael Davidsaver 35c7cc5d15 ioc: add pvxs_log_config() and pvxs_log_reset() 2025-11-19 17:54:10 -08:00
Michael Davidsaver 4249885f8e server: disable one-sided attempt to handle saturated connection
Does prevent further creations from making the saturation worse,
but also prevents destructions from reducing bandwidth usage.
2025-10-13 17:48:52 -07:00
Michael Davidsaver 8d58409481 server: check tx buffer limit to throttle
The TX buffer could grow while nothing is being received.
Practically bounded by the timeout interval, but could
still get quite large in that time.
2025-10-13 17:48:52 -07:00
Michael Davidsaver 289f508af6 server: plug channel leak 2025-10-13 17:48:52 -07:00
Michael Davidsaver cf43613c86 1.4.1
PVXS Python / win64 3.10 (push) Failing after 1s
PVXS Python / win64 3.11 (push) Failing after 1s
PVXS Python / win64 3.12 (push) Failing after 1s
PVXS Python / win64 3.13 (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 ubsan (push) Failing after 2s
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
GH pages / generate (push) Failing after 2s
PVXS EPICS / Linux fedora latest (push) Failing after 7s
PVXS EPICS / Linux CentOS 7 (push) Failing after 7s
PVXS Python / linux64 test (push) Failing after 1s
Spell Check / Spell Check (push) Successful in 9s
PVXS Python / linux 2.7 i686 (push) Failing after 13s
PVXS Python / linux 2.7u i686 (push) Failing after 13s
PVXS Python / linux 3.5 i686 (push) Failing after 13s
PVXS Python / linux 3.7 i686 (push) Failing after 13s
PVXS Python / linux 3.6 i686 (push) Failing after 15s
PVXS Python / linux 3.8 i686 (push) Failing after 13s
PVXS Python / linux 3.9 i686 (push) Failing after 13s
PVXS Python / linux 2.7 amd64 (push) Failing after 13s
PVXS Python / linux 2.7u amd64 (push) Failing after 13s
PVXS Python / linux 3.5 amd64 (push) Failing after 13s
PVXS Python / linux 3.6 amd64 (push) Failing after 13s
PVXS Python / linux 3.7 amd64 (push) Failing after 13s
PVXS Python / linux 3.8 amd64 (push) Failing after 13s
PVXS Python / linux 3.10 amd64 (push) Failing after 13s
PVXS Python / linux 3.11 amd64 (push) Failing after 13s
PVXS Python / linux 3.12 amd64 (push) Failing after 13s
PVXS Python / linux 3.13 amd64 (push) Failing after 13s
PVXS Python / linux 3.9 amd64 (push) Failing after 1m11s
Release artifacts / artifacts (push) Failing after 1m48s
GH pages / publish (push) Skipped
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
PVXS Python / osx 3.10 arm64 (push) Cancelled after 0s
PVXS Python / osx 3.11 arm64 (push) Cancelled after 0s
PVXS Python / osx 3.12 arm64 (push) Cancelled after 0s
PVXS Python / osx 3.13 arm64 (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 arm64 (push) Cancelled after 0s
PVXS Python / osx 3.9 arm64 (push) Cancelled after 0s
2025-10-07 07:25:12 -07:00
Michael Davidsaver e9ab67afc0 server: always post first update even if empty
fix open() with no fields marked
2025-10-03 16:53:38 -07:00
Michael Davidsaver 27be80d677 server: clientConfig() avoid mixing TCP and UDP endpoints
interfaces has TCP endpoints, addressList has UDP endpoints.
Take beaconDestinations instead.
2025-10-03 16:53:38 -07:00
Michael Davidsaver 8db40be29c client: log error for context with no search destinations 2025-10-03 16:42:12 -07:00
Michael Davidsaver adab53e5c5 client: error on empty PV name 2025-10-01 15:09:49 -07:00
Michael Davidsaver 78a0727aed doc 2025-10-01 15:09:49 -07:00
Michael Davidsaver ea507d46a6 make OperationBase::channelName constant 2025-10-01 15:09:49 -07:00
Mike Smith 4af3028930 OperationBase::chan is nullptr until Channel is created, check before getting name
have name() return the channel name from OperationBase, not OperationBase::chan::name
2025-10-01 13:08:24 -07:00
Michael Davidsaver 38cc6deb74 fix INSTALL_LOCATION!=TOP 2025-10-01 10:21:53 -07:00
Michael Davidsaver 45e31f46a4 evutil_getaddrinfo() expects result pointer to be pre-zeroed
Tricky because this only matters on targets where certain
compatibility "hacks" are necessary.  eg. observed crash
on win64 static.
2025-10-01 10:21:53 -07:00
Michael Davidsaver 65d2f943c8 IfMapDaemon SockAttach
handles the case of an early *::Config::expand()
2025-10-01 10:21:53 -07:00
Michael Davidsaver 6828ea06c8 Revert "GetAddrInfo wrapper always numeric"
This reverts commit b8a4001c58.
2025-10-01 07:04:58 -07:00
Michael Davidsaver 021bcb4a06 server: fix Dead op cleanup 2025-09-10 18:12:47 -07:00
Michael Davidsaver 12b7ecac9e doc
PVXS Python / win64 3.10 (push) Failing after 1s
PVXS Python / win64 3.11 (push) Failing after 1s
PVXS Python / win64 3.12 (push) Failing after 1s
PVXS Python / win64 3.13 (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 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 2s
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 2s
PVXS EPICS / Linux CentOS 7 (push) Failing after 7s
PVXS Python / linux64 test (push) Failing after 2s
PVXS EPICS / Linux fedora latest (push) Failing after 7s
Spell Check / Spell Check (push) Successful in 9s
PVXS Python / linux 2.7 i686 (push) Failing after 13s
PVXS Python / linux 3.5 i686 (push) Failing after 13s
PVXS Python / linux 2.7u i686 (push) Failing after 17s
PVXS Python / linux 3.6 i686 (push) Failing after 13s
PVXS Python / linux 3.7 i686 (push) Failing after 13s
PVXS Python / linux 3.8 i686 (push) Failing after 14s
PVXS Python / linux 2.7u amd64 (push) Failing after 13s
PVXS Python / linux 2.7 amd64 (push) Failing after 13s
PVXS Python / linux 3.5 amd64 (push) Failing after 13s
PVXS Python / linux 3.6 amd64 (push) Failing after 13s
PVXS Python / linux 3.7 amd64 (push) Failing after 13s
PVXS Python / linux 3.8 amd64 (push) Failing after 13s
PVXS Python / linux 3.10 amd64 (push) Failing after 14s
PVXS Python / linux 3.9 i686 (push) Failing after 37s
PVXS Python / linux 3.9 amd64 (push) Failing after 17s
PVXS Python / linux 3.11 amd64 (push) Failing after 13s
PVXS Python / linux 3.12 amd64 (push) Failing after 13s
PVXS Python / linux 3.13 amd64 (push) Failing after 13s
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
PVXS Python / osx 3.10 arm64 (push) Cancelled after 0s
PVXS Python / osx 3.11 arm64 (push) Cancelled after 0s
PVXS Python / osx 3.12 arm64 (push) Cancelled after 0s
PVXS Python / osx 3.13 arm64 (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 arm64 (push) Cancelled after 0s
PVXS Python / osx 3.9 arm64 (push) Cancelled after 0s
2025-08-06 20:29:34 -07:00
Michael Davidsaver 04047e794e preserve UDP port in classification logic
fixes 190eb8750f
2025-07-16 08:51:01 -05:00
Michael Davidsaver 7073538335 fix remote error handling during PUT with autoExec=false 2025-07-13 19:11:28 -07:00
Michael Davidsaver 07c06f2ef3 handle ORIGIN_TAG 0.0.0.0
A valid tag, but no additional information.
Handle as if no tag provided.

updates 190eb8750f
2025-07-13 15:26:36 -07:00
Michael Davidsaver 2509525b60 minor 2025-06-22 19:01:09 -07:00
Michael Davidsaver da6003d8e9 1.4.0a1 2025-06-11 16:54:36 -07:00
Michael Davidsaver 01c11e16b1 add SockAddr::map6to4() 2025-06-11 15:32:47 -07:00
Michael Davidsaver 2f44848891 server: handle monitor created without initial ACK
also update queueSize parsing with logRemote
2025-06-11 15:32:47 -07:00
Michael Davidsaver f948a4fbb0 client: log invalid monitor queueSize 2025-06-11 15:32:47 -07:00
Michael Davidsaver a372d936e8 add server to client remote logging 2025-06-11 15:32:47 -07:00
Michael Davidsaver 839fc01bfd fix Source::Search::source() IPv6 representation 2025-06-11 15:32:47 -07:00
Michael Davidsaver b8a4001c58 GetAddrInfo wrapper always numeric 2025-06-11 15:32:47 -07:00
Michael Davidsaver 190eb8750f update local mcast hack logic to sendmsg()
Better test of whether received packet was forwarded,
based on OS provided meta-data instead of peer provided
unicast flag.

Also use ORIGIN_TAG (original destination) address as
UDP source address if a local interface address.
2025-06-11 15:32:47 -07:00
Michael Davidsaver a464e9a6eb redesign IfaceMap
Switch to periodic poll on dedicated worker thread
instead of opportunistic poll on use.
2025-06-11 15:32:47 -07:00
Michael Davidsaver 25f5f1dcee IfaceMap add look up index by address, and loopback by index 2025-06-11 15:32:47 -07:00
Michael Davidsaver 80c63888ed add sendtox
wrapper sendmsg() and WSASendMsg()

Linux and Windows support IPv4 IP_PKTINFO.
BSD, Linux, and Windows support IPV6_PKTINFO

So far RTEMS and OSX, the extra sendto() overrides
will be ignored.
2025-06-11 15:32:47 -07:00
Michael Davidsaver a2b424cba2 increase max UDP packet batch size 2025-06-11 15:32:47 -07:00
Michael Davidsaver e30640a6f9 always "bind" to iface bcast when not any
Since we always bind() the wildcards, the OS specific
oddifies wrt. bind() to interface addresses/bcast address
do not apply.  So always register interest in associated
broadcast addresses.
2025-06-11 15:32:47 -07:00
Michael Davidsaver b0b8d60656 rename generated CONFIG_SITE to TOOLCHAIN
No longer generate CONFIG_SITE.Common.$(T_A),
which should never be generated...
2025-06-11 15:32:47 -07:00
Michael Davidsaver 66788f5107 minor 2025-06-11 15:32:47 -07:00
Michael Davidsaver edcc21bca3 quiet clang warning
triggers -Wtautological-constant-compare
2025-04-15 14:33:23 -07:00
Michael Davidsaver 91fed88cdd "Beacon tx error" show destination 2025-03-31 13:55:19 -07:00