Commit Graph

70 Commits

Author SHA1 Message Date
Michael Davidsaver 93dc0f4f1a drop unused 2018-07-06 11:20:34 -07:00
Michael Davidsaver 59a65ce317 discoverInterfaces() fixup bcast address on win32
Apparently SIO_GET_INTERFACE_LIST sometimes gives
the global broadcast (255.255.255.255) for one of
the interfaces.  In this case silently compute
the iface bcast address.
2018-07-02 18:54:05 -07:00
Michael Davidsaver 7912718664 discoverInterfaces() compat RTEMS 2018-07-02 15:32:10 -07:00
Michael Davidsaver fc037f0a39 drop getBroadcastAddresses()
in favor of discoverInterfaces().

if we have to do NIC discovery ourselves, then at least
avoid mixing our results with the similar, but not identical
results of osiSockDiscoverBroadcastAddresses() from Base.
2018-07-02 14:39:37 -07:00
Michael Davidsaver c5419f9487 revise discoverInterfaces()
change interface to distingush between bcast and point2point.
add netmask to truly distinguish unicast from bcast.
fix some minor (I think) errors in the bsd socks impl (use of clobbered buffer).
cleanup win32 impl. bcast and p2p handling.
2018-07-02 14:39:36 -07:00
Michael Davidsaver 53a63f9a1f inetAddressUtil: save ifr_addr before query of IFFLAGS
Save before later calls clobber the buffer (was corrupting
sin_family).
2018-07-02 14:39:36 -07:00
Michael Davidsaver 3abd77a42c fix IntrospectionRegistry error handling
Calling code can't deal with "cache" miss,
which indicates either a protocol error (use of invalid ID),
or a logic error on our part (didn't save ID).
In either case, better to throw an exception than to crash.
2018-06-22 13:28:49 -07:00
Michael Davidsaver 685490fc1a no NDEBUG
Apparently the Base makefiles never have defined NDEBUG.
So no point for this conditional.
2018-02-14 08:55:01 -08:00
Michael Davidsaver c6b1d3b738 fairQueue: logic error allows perpetual clear()
oops, the argument isn't cleared in all
cases, and can be swapped in.
As in the case of clear().
2018-02-13 17:58:56 -08:00
Michael Davidsaver f1defe4e9f mark NamedLockPattern as deprecated
just too hard to use (exception) safely
2018-02-01 19:00:38 -08:00
Michael Davidsaver 58f996fd98 update transportRegistry
avoid leaks of SOCKET and leaving mutex locked
when exceptions are thrown.
2018-02-01 18:54:25 -08:00
Michael Davidsaver cce7e10ac4 minor 2018-01-31 11:51:13 -08:00
Michael Davidsaver 903d117485 pvAccessLog() add EPICS_PRINTF_STYLE()
and fixup incorrect specifiers
2017-12-28 10:49:54 -06:00
Michael Davidsaver 0161799c93 must zero osiSockAddr prior to use!
RTEMS depends on this or eg. bind()
will fail because comparison with
list of interface addresses is done
with memcmp()!
2017-11-28 17:54:25 -06:00
Michael Davidsaver 5137b90f56 minor client message handling
avoid unnecessary dynamic_cast
2017-09-06 13:49:24 -05:00
Michael Davidsaver 90e8276758 fixup point to point interface handling.
with bcast interfaces, send searches to bcast address
and !WIN32 binds bcast address to receive searches.

with point to point, send searches to dest address.
can't bind dest address (not local).

quiets spurious error message:

> Error binding socket: Cannot assign requested address.

Encountered with a P2P link setup by openvpn.
2017-09-06 10:38:20 -05:00
Michael Davidsaver e8adc57897 getBroadcastAddresses oops 2017-09-02 10:22:08 -05:00
Michael Davidsaver 27ec187bd4 inetAddressUtil no more new vector
no more allocating vector.
2017-09-02 09:55:15 -05:00
Michael Davidsaver 0f8865e1ea pv/inetAddressUtil.h no longer public 2017-09-02 09:55:15 -05:00
Michael Davidsaver 937fb154c1 update release notes 2017-07-18 19:06:55 +02:00
Michael Davidsaver 10b4ba8ae5 requester.h import/export 2017-07-18 16:09:53 +02:00
Michael Davidsaver 2c530868f6 split out caprovider as libpvAccessCA
fixup multi-library build
2017-07-17 13:51:20 +02:00
Michael Davidsaver 0222463123 update requester.h
move to pvAccess namespace.
2017-07-12 14:26:28 +02:00
Michael Davidsaver 042b3e7b0f requester.h moves from pvDataCPP 2017-07-12 13:14:02 +02:00
Michael Davidsaver 6fb8385d29 avoid op on uninitialized value warnings 2017-07-11 14:38:07 +02:00
Michael Davidsaver e75ba66409 move Destroyable to pva namespace 2017-07-05 11:57:10 +02:00
Michael Davidsaver ceefa7301d move destroyable.h from pvDataCPP 2017-07-05 11:51:06 +02:00
Michael Davidsaver 35d2c610bf separate ChannelProviderRegistry for client/server 2017-06-21 14:41:24 +02:00
Michael Davidsaver 65cdff288f Configuration list keys 2017-06-01 01:54:17 +02:00
Michael Davidsaver 0fbbcc2d9f remove deprecated Properties 2017-05-30 17:33:04 +02:00
Andrew Johnson 0f61408a28 Minor clean-up after issue #43 fix. 2016-04-14 11:36:14 -05:00
Matej Sekoranja 6dc9b0f96f replaced LGPL wildcard matcher w/ simplistic epics-base version 2016-04-14 11:31:32 +02:00
Andrew Johnson e28fd6129e Remove need to undef epicsExportSharedSymbols
This approach works OK, but makes it much harder to find files
that have mistakes in them since they can cause other functions
to get the wrong import/export setting.
2016-04-06 10:59:23 -05:00
Andrew Johnson 1e031bf393 Reorder some include lines
Order should be
    Compiler, OS, Base, pvData, pvAccess
This makes it much easier to get the epicsExport stuff right.
2016-04-06 10:59:23 -05:00
Andrew Johnson 12d68fe209 Add epicsExportSharedSymbols, move some includes 2016-04-06 10:59:22 -05:00
Andrew Johnson 7ed5f8b4bf Wrong keyword, use epicsShareFunc 2016-04-06 10:59:22 -05:00
Matej Sekoranja 5279d247ca general indent beautification 2016-03-10 23:36:16 +01:00
Matej Sekoranja 87c11d83d2 win32 port 2016-03-06 21:21:26 +01:00
Matej Sekoranja 56b6279035 manual merge 2016-03-02 13:34:05 +01:00
Matej Sekoranja 1ca3918afa local multicast reimplemented 2016-03-01 12:11:25 +01:00
Matej Sekoranja 9be026efc7 allow EPICS_PVAS_INTF_ADDR_LIST=127.0.0.1, tests pass now 2016-02-25 10:37:44 +01:00
Michael Davidsaver 58914fd093 update Makefiles for pv/
add pv/ prefix for INC
2016-01-26 15:50:49 -05:00
Michael Davidsaver 49058d260b move installed headers to pv/ sub-dir 2016-01-26 15:36:07 -05:00
Michael Davidsaver 315bd87f8e drop copy of epicsParse* 2016-01-05 13:11:46 -05:00
Michael Davidsaver 6f85c869ba configuration: use typeCast instead of epicsParse*
Since typeCast wraps epicsParse*, including base 3.14
compatibility.
2016-01-05 13:11:33 -05:00
Michael Davidsaver 837c10a003 fair_queue: struct offsetof() only with POD struct
In C++ offsetof() is not specified on non-POD structs
(eg. having methods or non-POD members).
2016-01-05 11:49:32 -05:00
Matej Sekoranja 21a1dad07f server: multiple NIF support for UDP 2016-01-04 14:12:19 +01:00
Matej Sekoranja 63a0c71fe9 local multicast revised for multiple NIF (server side only) 2015-12-31 11:18:49 +01:00
Matej Sekoranja 91b5cc707d fixed testChannelAccess 2015-12-16 13:52:56 +01:00
Matej Sekoranja d7eafcb9c5 EPICS base 3.14/clang compilation, TCPAcceptor shutdown on OSX (BSD) fixed 2015-12-16 11:46:58 +01:00