Commit Graph

1188 Commits

Author SHA1 Message Date
gabadinho 55ec813908 initial typed-dset changes for ao record 2020-02-12 15:32:13 +01:00
Michael Davidsaver e6810a4224 processTarget() remove unnecessary NULL test
psrc and pdst will always be non-NULL
2020-02-12 11:16:33 +00:00
Michael Davidsaver 7b6e48f4e0 casw shouldn't use monotonic 2020-02-12 11:16:29 +00:00
Michael Davidsaver f0bf61b4cb rsrv: improve monitor/get error message 2020-02-12 11:16:26 +00:00
Michael Davidsaver db6e7c7a22 use one osdSockAddrReuse impl for all targets
drop win32 specialization of osdSockAddrReuse
2020-02-12 10:52:51 +00:00
Michael Davidsaver 5064931aa6 try both to set both SO_REUSEPORT and SO_REUSEADDR
It seems that on Linux, SO_REUSEPORT shares with SO_REUSEPORT
and SO_REUSEADDR with SO_REUSEADDR, but not each other.

Setting both allows full sharing
2020-02-12 10:52:15 +00:00
Michael Davidsaver d0c4cc0cec Darwin/iOS use posix osdSockAddrReuse.cpp
Redundant now that the posix version prefers SO_REUSEPORT
if defined.
2020-01-12 11:49:48 -08:00
Michael Davidsaver 65ef6e9d59 posix epicsSocketEnableAddressUseForDatagramFanout() prefer SO_REUSEPORT
prefer SO_REUSEPORT on targets which define it.

Linux defines both, and seems to treat
SO_REUSEPORT and SO_REUSEADDR as equivalent.
BSD derivatives need SO_REUSEPORT.
2020-01-12 11:49:26 -08:00
Michael Davidsaver 8dc131dc4c osiSockTest test epicsSocketEnableAddressUseForDatagramFanout() 2020-01-12 11:48:20 -08:00
Michael Davidsaver 468f965dc2 dbLoadTemplate.h missing extern "C" 2020-01-05 17:52:43 -08:00
Andrew Johnson 8f358f4dd8 VxWorks::osdThread: Rename createFunction => epicsThreadEntry
and make it visible (non-static) so it appears in back-traces.
2020-01-02 16:41:55 -06:00
Andrew Johnson 05e0381b19 Fix VxWorks epicsThreadMustJoin() problems
taskWait() actually returns OK on timeout, so drop the timeout warning
(the other implementations don't have one).
The taskWait() may return ERROR with S_objLib_OBJ_ID_ERROR if the target
thread has higher priority; this indicates a successful join, because
we already did a rendezvous using joinSem.
Delete joinSem *after* calling taskSpareFieldSet(), in case it matters.
2020-01-02 16:39:10 -06:00
Andrew Johnson 06728e0e0b Run epicsThreadTest::testJoining with different priorities
A problem in the VxWorks epicsThreadMustJoin() only occurs when
the joining thread runs at a higher priority than its supervisor.
2020-01-02 16:22:35 -06:00
Andrew Johnson 3b20e71da5 EPICS::IOC.pm Save parms, more debug annotations 2020-01-01 15:03:40 -06:00
Andrew Johnson 81df1b2892 Rearrange EPICS::IOC->close() to be more robust 2020-01-01 00:14:08 -06:00
Andrew Johnson aad8a96b0d Increase timeout for caget to 15 seconds 2020-01-01 00:08:06 -06:00
Andrew Johnson 83d2941405 netget: Run caget and pvget using EPICS::IOC instead of back-ticks
This lets us collect and echo their stderr streams, and if they
hang up without responding we can kill them directly instead of
just giving up and bailing out.

Left debug output turned on for now.
2019-12-31 22:28:43 -06:00
Andrew Johnson b62ab817c6 Replace EPICS::IOC->kill() with exit() and close() methods 2019-12-31 22:21:03 -06:00
Andrew Johnson 70ea8d5476 Make EPICS::IOC->_geterrors() return on EOF from IOC's stderr 2019-12-31 22:15:22 -06:00
Andrew Johnson 5dc7995477 Enable IOC debug output in netget.plt 2019-12-27 17:36:37 -06:00
Michael Davidsaver cb0d8d1297 update PVA 2019-12-19 19:31:21 -08:00
Andrew Johnson 71278477bc Update submodules 2019-12-19 00:08:18 -06:00
Andrew Johnson e7715ba7b4 Merge 3.15 branch into 7.0 2019-12-18 23:58:02 -06:00
Michael Davidsaver 189060c14f Merge branch '3.15' into 7.0
* 3.15:
  minor epicsTimerTest
  epicsTimerTest loosen test threshold
  debug epicsTimerTest
  posix/epicsMath.h
  Revert "libcom: fix colliding isnan/isinf between C99 and C++0x for gcc-4"
  Revert "libcom: properly declare isnan() in C++ code"
  travis-ci /etc/hosts workaround
  redo travis-ci with matrix
  epicsSockResolveTest add detail
  libcom: properly declare isnan() in C++ code
  libcom: fix colliding isnan/isinf between C99 and C++0x for gcc-4
  libcom: import some C99 math (isnan etc.) into global namespace

# Conflicts:
#	.travis.yml
#	ci/travis-prepare.sh
2019-12-16 15:39:48 -08:00
Andrew Johnson 5407a25775 Export and use aidset, set USE_TYPED_DSET
I did ai so I can use it as an example in the Release Notes.
2019-11-30 00:20:16 -06:00
Andrew Johnson 6eaef18347 Remove duplicated include line 2019-11-28 00:56:00 -06:00
Michael Davidsaver 3450c9d442 softIoc use correct path sep 2019-11-24 19:39:45 -08:00
Michael Davidsaver a7cb9524c2 softIoc re-add -D 2019-11-24 19:39:44 -08:00
Michael Davidsaver 90ef40e62b iocshFindVariable() safety 2019-11-24 19:39:44 -08:00
Michael Davidsaver 1290ab7c6c dbInitEntry() w/o matching dbFinishEntry() 2019-11-24 19:39:42 -08:00
Andrew Johnson 45c7039a45 Add HAS_<record>dset macros to allow detection
External device support that must also build against earlier
Base versions can use these to determine whether they need so
declare their own dset structures for each record type.
2019-11-23 22:23:47 -06:00
Andrew Johnson b1b51cc70e Export and use int64outdset, set USE_TYPED_DSET 2019-11-23 15:32:51 -06:00
Andrew Johnson 7e1d165092 Export and use int64indset, set USE_TYPED_DSET 2019-11-23 15:32:51 -06:00
Andrew Johnson 7893445a2e Modify lsodset, set USE_TYPED_DSET 2019-11-23 15:32:51 -06:00
Andrew Johnson 465ab44606 Modify lsidset, set USE_TYPED_DSET 2019-11-23 15:32:51 -06:00
Andrew Johnson 23450fcfc8 Modify printfdset, set USE_TYPED_DSET 2019-11-23 15:32:51 -06:00
Michael Davidsaver 3c0d4ccf49 remove another __DATE__ 2019-11-16 10:26:23 -08:00
Martin Konrad 218459f454 Remove epicsThrows() macro
Exception specifications are deprecated: http://isocpp.github.io/
CppCoreGuidelines/CppCoreGuidelines.html#e30-dont-use-exception-
specifications . They will be removed from the C++ standard with
C++20. Modern compilers are warning about them since years. Thus
it's unlikely that anyone is still using the epicsThrows() macro.
Even if that's the case the fix is trivial: Simply remove the macro.
2019-11-15 21:15:50 -08:00
Martin Konrad 13234afc40 Simplify definition of compiler-specific macros
Remove conditionals for older compiler versions that aren't
supported by EPICS Base anymore.
2019-11-15 21:14:27 -08:00
Michael Davidsaver 156b137af0 avoid 'struct dset'
doesn't work if -DUSE_TYPED_DSET
2019-11-15 21:11:27 -08:00
Michael Davidsaver fab9c52858 missing includes
Need definition of FILE
2019-11-15 21:11:27 -08:00
Michael Davidsaver 019c20476a test include public Com and db headers
Ensure that headers which are meant to be included
actually can be.
2019-11-15 21:11:27 -08:00
Andrew Johnson f3d63da77b Remove two long-unused environment parameters 2019-11-15 13:16:35 -06:00
Michael Davidsaver a4e5b9c528 minor 2019-11-13 10:19:16 -08:00
Michael Davidsaver b43aafae70 VCS version instead of __DATE__
Use reproducable VCS version instead of date.
Of course, this falls back to a date if not
version controlled.
2019-11-13 10:18:12 -08:00
Michael Davidsaver 905ca4b7ac quiet some warnings 2019-11-13 10:17:43 -08:00
Michael Davidsaver 7acd7c6145 minor epicsTimerTest 2019-11-12 19:07:30 -08:00
Michael Davidsaver bef9a08f6d asLib minor 2019-11-12 19:07:30 -08:00
Michael Davidsaver 3e7ad9a86f rtems_init cleanup
Remove unnecessary (as of RTEMS 4.9) prototypes
Remove unused *Fatal
constify string contant
2019-11-12 19:07:30 -08:00
Michael Davidsaver 76b9461ee8 logClient windows needs SOCK_E* 2019-11-12 19:07:30 -08:00