Sinisa Veseli
cd152c37a4
add checks for null pointers
2021-08-10 11:11:59 -05:00
Sinisa Veseli
9a88e5e879
fix issue with null pointer check for DBR_ENUM
2021-08-04 11:19:47 -05:00
Sinisa Veseli
deefe12491
avoid probleem with pv structures that do not have value subfield
2021-07-28 23:33:01 -05:00
Michael Davidsaver
a5cae7ad92
Set next development version
2021-06-30 07:11:03 -07:00
Michael Davidsaver
3e6e6ae74b
Update version numbers for release
7.1.4
2021-06-30 07:07:49 -07:00
Jesus Vasquez
f72c7e653c
pvput: make sure we have valid values after all the checks
2021-03-09 10:56:40 -08:00
Jesus Vasquez
674264db3d
pvput: when we accept a bare value with a "=" char, verify if the
...
".value" field is of type "string"
2021-03-09 10:56:40 -08:00
Jesus Vasquez
546de6fe32
pvput: When breaking down command line vales into field=value pairs,
...
verify if the "field" is a valid remote type. If not, tread it as a
bare value
2021-03-09 10:56:40 -08:00
Jesus Vasquez
55af545099
pvput: Move command line values break down logic to the Putter class
...
where we have access to the remote type
2021-03-09 10:56:40 -08:00
Michael Davidsaver
e1c1a4bc1b
Set next development version
2021-02-26 12:58:51 -08:00
Michael Davidsaver
64c284cd41
Update version numbers for release
7.1.3
2021-02-26 12:57:27 -08:00
Michael Davidsaver
c8f6ce329c
doc
2021-02-25 12:18:11 -08:00
Hugo Slepicka
e2b733a78f
Enable building of pvtools to all except vxWorks, RTEMS and iOS.
2021-01-26 17:23:17 -08:00
Michael Davidsaver
2702e60937
increase TCP timeout to 40 seconds
2021-01-14 18:15:30 -08:00
Andrew Johnson
4638c11c8c
Fix for 3.15 DLL builds
2021-01-05 11:01:02 -08:00
Andrew Johnson
7910f7a794
Another include epicsGuard.h missing for 3.15 builds
2021-01-05 11:01:02 -08:00
Andrew Johnson
62cbbd6722
caChannel: Use epicsMutex and epicsGuard<>
2021-01-05 11:01:02 -08:00
Andrew Johnson
ece8b94357
include epicsGuard.h for 3.15 builds
2021-01-05 11:01:02 -08:00
Andrew Johnson
6d19349a5d
Fixes for testConveyor on RTEMS
2021-01-05 11:01:02 -08:00
Andrew Johnson
f3486211f5
Simplify testConveyor
2021-01-05 11:01:02 -08:00
Andrew Johnson
bf04c69bda
Conveyor: Don't try to support self-deletion
2021-01-05 11:01:02 -08:00
Andrew Johnson
e0c2496e52
Add a Notification constructor that also sets client
2021-01-05 11:01:02 -08:00
Andrew Johnson
e00ccbeb9c
Conveyor: Change run() to follow MAD's skeleton
...
This is still broken if a client method (notify() or the destructor)
deletes the conveyor, which accesses data members before exiting.
2021-01-05 11:01:02 -08:00
Andrew Johnson
a9725834dc
Add tests for notifyConveyor
2021-01-05 11:01:02 -08:00
Andrew Johnson
a078e03041
Notifyer: Give conveyor threads a unique name
2021-01-05 11:01:02 -08:00
Andrew Johnson
98e81a542e
Use epicsMutex and epicsEvent instead of pv::data equivalents
2021-01-05 11:01:02 -08:00
Andrew Johnson
0332d0f2c1
notifierConveyer destruction protection
...
Remove the work variable
2021-01-05 11:01:02 -08:00
Andrew Johnson
345f2782cd
caContext: Restore existing context in constructor
...
Don't assume other code might be using our context.
Fix destructor to reattach the right context.
2021-01-05 11:01:02 -08:00
Andrew Johnson
b0b2228558
Make ca::Attach::context a reference, not a smart pointer
2021-01-05 11:01:02 -08:00
Andrew Johnson
bfe35cc1d6
Remove testdbCleanup() call, causes major problems
2021-01-05 11:01:02 -08:00
Andrew Johnson
c63c09a834
Oops, permit building with Base-3.15
2021-01-05 11:01:02 -08:00
Andrew Johnson
964a6bc33a
Major updates in testCa, run on RTEMS under QEMU
2021-01-05 11:01:02 -08:00
Andrew Johnson
92002b6ba2
Include pvAccess.h before exportSharedSym's in caContext.cpp
2021-01-05 11:01:02 -08:00
Andrew Johnson
33cc9b1fdb
Define epicsExportSharedSymbols in ca/notifierConveyor.cpp
2021-01-05 11:01:02 -08:00
Andrew Johnson
23c9b09c1e
Re-enable running of testCaProvider on Windows
2021-01-05 11:01:02 -08:00
Andrew Johnson
8b3a057a69
Have notifierConveyor trap and drop any exceptions
2021-01-05 11:01:02 -08:00
Andrew Johnson
f9c40e96cf
Collect ca_client_context operations
...
Each instance of the caContext class represents a separate CA context,
so each CAChannelProvider creates one and keeps a shared_ptr to it,
making that available to its channels and channel operations. These
also take their own shared_ptr to it as well so the context cannot be
destroyed while it might be needed.
A related caContext Attach object is intended to be short-lived, and
to be allocated on the stack. When created it saves the current CA
context for the thread, replacing it from the caContext given to its
constructor. CA operations will now use the attached context. When the
Attach destructor runs it detaches the thread from the current context
(checking still has the expected value) and re-attaches the thread to
any context that was saved by the constructor.
2021-01-05 11:01:02 -08:00
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