Commit Graph

1927 Commits

Author SHA1 Message Date
Andrew Johnson
25dde0f4ba Make Codacy happier 2021-01-05 11:01:02 -08:00
Andrew Johnson
06c2fb579f Replaced 4 notification threads with 2 notifierConveyors
Channel connection notifications are now handled by connectNotifier,
getDone, putDone and monitor events handled by resultNotifier.
A notifierConveyor is generic, and contains a queue and a thread.
You pass a Notification pointing to a NotifierClient to a Conveyor's
notifyClient() method, and the thread will call the client's
notifyClient() method once it reaches the front of the queue.

The conveyor threads stop when the caProvider is destroyed.
The queue stores weak pointers, so queued notifications won't prevent
client objects from being destroyed.
2021-01-05 11:01:02 -08:00
Andrew Johnson
2729903a10 Make the channelConnectThread per-provider
This passes the tests (on MacOS).
2021-01-05 11:01:02 -08:00
Andrew Johnson
601280836d Move caProvider worker threads shutdown to static destructors 2021-01-05 11:01:02 -08:00
Andrew Johnson
44fda51935 Start of major overhaul
Moved duplicated EXCEPTION_GUARD macro to private header file.
Removed all DEBUG_LEVEL and similar prints.
Some reformatting and code simplification.
2021-01-05 11:01:02 -08:00
Andrew Johnson
05c2b605aa Enhancements to testCaProvider
Loop the tests so we check for destroying the caProvider.
Move the shutdown call inside the try/catch.
2021-01-05 11:01:02 -08:00
Andrew Johnson
9671ee132e caProvider threads: Lock the mutex while reading isStop state 2021-01-05 11:01:02 -08:00
Michael Davidsaver
f9cbaf72ff fix ci 2020-12-05 07:41:06 -08:00
Michael Davidsaver
ebeaa18486 use ci-core-dumper 2020-12-04 11:51:24 -08:00
Michael Davidsaver
29c0656412 ci: run RTEMS tests 2020-11-22 11:58:33 -08:00
Michael Davidsaver
d005260017 hackAroundRTEMSSocketInterrupt 2020-11-22 11:58:33 -08:00
Michael Davidsaver
9423252416 testChannelAccess disable for RTEMS
Doesn't pass. for RTEMS 4.x.  Not clear why.
Disable so that the remaining tests can be run.
2020-11-22 11:57:02 -08:00
Michael Davidsaver
e13cee1d5c Disable testCaProvider for <=3.15 and WIN32
Random hangs on WIN32.
Seems to crash with 3.15 (github actions)
2020-11-22 11:53:58 -08:00
Michael Davidsaver
5a72232028 update ci
update ci-scripts
switch travis-ci -> github actions
Enable RTEMS testing
2020-11-22 11:53:58 -08:00
Michael Davidsaver
597f168b9c fixup tests for RTEMS 2020-11-22 11:53:58 -08:00
Michael Davidsaver
01637cfbbe Revert "rtemsTestHarness needs no data files"
This reverts commit cca473ed0e.
2020-11-21 10:32:18 -08:00
Michael Davidsaver
fc4e3c5d44 discoverInterfaces() correctly ignore non-IPv4 addresses
Must check sa_family early, before attempting to copy
in case sockaddr needs more storage than sockaddr_in.
2020-11-21 10:32:18 -08:00
Michael Davidsaver
684da91675 testServerContext fix # of tests 2020-11-21 10:32:16 -08:00
Michael Davidsaver
325b138467 Revert "Add support for socket addresses other then IPv4"
This reverts commit 7db4f94b8b.
2020-11-21 10:31:22 -08:00
Michael Davidsaver
862f08a9d3 Revert "Add check for the definition "darwin" to support Mac"
This reverts commit 53cd4fa3ef.
2020-11-21 10:31:22 -08:00
Michael Davidsaver
3b2261a61f Remove unused alignBuffer() and alignData() 2020-11-14 12:01:47 -08:00
Michael Davidsaver
cca473ed0e rtemsTestHarness needs no data files 2020-11-11 08:08:15 -08:00
Michael Davidsaver
564f19e466 handle exception in authGblInit()
Don't allow c++ exceptions to propagate to epicsThreadOnce()
2020-11-10 23:03:48 -08:00
Michael Davidsaver
d17d44ba0c minor 2020-11-10 23:03:48 -08:00
Heinz Junkes
53cd4fa3ef Add check for the definition "darwin" to support Mac 2020-08-20 12:00:06 +02:00
Heinz Junkes
af550178e8 Merge branch 'fixUtils' 2020-08-19 16:38:05 +02:00
Heinz Junkes
7db4f94b8b Add support for socket addresses other then IPv4 2020-08-19 16:07:11 +02:00
Michael Davidsaver
c6199d359a travis-ci network fixup 2020-08-12 18:55:26 -07:00
Michael Davidsaver
fe43843a08 add test coverage for discoverInterfaces 2020-08-12 18:55:26 -07:00
Michael Davidsaver
084eb08138 Set next development version 2020-07-26 13:36:14 -07:00
Michael Davidsaver
8e183c23e1 Update version numbers for release 7.1.2 2020-07-26 13:34:46 -07:00
Michael Davidsaver
88c11f68a2 doc 2020-06-20 11:12:42 -07:00
Michael Davidsaver
53d18e6a03 SharedPV handle bad_weak_ptr earlier
Avoid operating on partly destroyed object.
2020-06-15 09:37:11 -07:00
Michael Davidsaver
a97c5b1cbb SharedPV::post() handle bad_weak_ptr 2020-06-15 09:25:31 -07:00
Michael Davidsaver
3f050f3533 avoid unnecessary re-throw
"Failed to initialize UDP transport"
is not a useful error message
2020-06-06 08:01:52 -07:00
Michael Davidsaver
598fa1e596 make Destroyable::destroy() optional 2020-06-03 15:55:09 -07:00
Andrew Johnson
4e85d38bba Set next development version 2020-05-28 16:26:00 -05:00
Andrew Johnson
1641bd18b4 Update version numbers for release 7.1.1 2020-05-28 15:12:49 -05:00
Michael Davidsaver
3cae45128f update release notes 2020-05-20 15:09:00 -07:00
Michael Davidsaver
0897836520 ci-scripts 2.3.2 (with appveyor) 2020-04-23 15:16:14 -07:00
Andrew Johnson
8fe018009a testCaProvider: Add build-time switch to use external IOC 2020-04-16 17:26:28 -07:00
Andrew Johnson
febff66eb4 testCaProvider: Show how we start the IOC 2020-04-16 17:26:28 -07:00
Andrew Johnson
9413d97fd5 testCaProvider: Make system(softIoc) OS-independent 2020-04-16 17:26:28 -07:00
3ba6679e67 removed spaces at end of line 2020-04-15 08:17:03 -07:00
40300a12cb replaced tabs with spaces 2020-04-15 08:17:03 -07:00
Michael Davidsaver
ef4bf9120e client: fix mixed up CID/SID in CMD_DESTROY_CHANNEL handler
servers send SID then CID
2020-04-07 13:13:23 -07:00
Michael Davidsaver
19d868eb7d start CID, SID, and IOID from different non-zero
Help to detect situations where these IDs get mixed up
2020-04-07 13:08:55 -07:00
Michael Davidsaver
4ef9c1102b no "invalid bit-set length"
Not actually an error case as BitSet storage is compacted.
2020-03-18 09:35:34 -07:00
Michael Davidsaver
245a09a199 client unconditionally clear existingBitSet
When reused (after reconnect) need to clear mask from previous
operation, which may be a different type from a different server
and just happen to have the same number of bits.
2020-03-18 09:35:34 -07:00
Heesterman, Peter J
208eef0962 Static analysis of epics base during the Codathon at Diamond. 2020-02-17 12:04:43 +00:00