Commit Graph
1808 Commits
Author SHA1 Message Date
Michael Davidsaver 4e5aef3e42 SharedPV allow rpc() while close()'d
No reason to prevent this as RPCs need not use
the same type (Structure) as get/put/monitor.
2018-10-02 12:52:24 -07:00
Michael Davidsaver 4296c5e015 more SharedPV::close() 2018-09-27 13:56:13 -07:00
mrkraimer d7dff7ebbf Merge https://github.com/epics-base/pvAccessCPP 2018-09-27 10:02:46 -04:00
mrkraimer 1204874481 implement field options 2018-09-27 10:02:00 -04:00
Michael Davidsaver 83b2105241 StaticProvider createChannel() avoid possible deadlock
connect() may invoke SharedPV onFirstConnect() callback.
2018-09-26 16:38:22 -07:00
Michael Davidsaver 7ed6f1315f SharedPV::open() less work under lock 2018-09-26 10:31:33 -07:00
Michael Davidsaver 51bc630755 add pvac::ClientChannel::info() 2018-09-26 10:28:18 -07:00
Michael Davidsaver 855335f3b1 client.h guard concurrent callbacks on cancel
cancel() blocks until concurrent callbacks have
completed.  Also serializes any callbacks for each
Operation/Monitor.
2018-09-26 10:28:18 -07:00
Michael Davidsaver d01421bf30 client.h cleanup 2018-09-26 10:28:18 -07:00
Michael Davidsaver f7f4822c08 pva/client.h separate Get and Put
Apparently some servers (pvDatabase) have different
behavior for ChannelGet::get() and ChannelPut::get() .

ClientChannel::get() now uses ChannelGet::get()
while ClientChannel::put() will automatically
do a ChannelPut::get() and pass the result to
the putBuilder callback.
2018-09-26 10:25:31 -07:00
Michael Davidsaver 31261cee24 client context less noise 2018-09-25 18:55:21 -07:00
mrkraimer e9d2114e96 latest changes to match caProvider.html 2018-09-24 13:45:21 -04:00
Michael Davidsaver 6b463d77e1 SharedPV ensure callback pairing
Ensure that onLastDisconnect() isn't called
unless onFirstConnect() is/has been called.
2018-09-21 11:35:57 -07:00
Michael Davidsaver a6eca51fa0 StaticProvider dtor close() with destroy=true 2018-09-21 11:35:57 -07:00
Michael Davidsaver 68f284f687 fix epicschat example 2018-09-21 11:35:57 -07:00
Michael Davidsaver 293dd3c2e9 sharedpv simplify logic
duh... always empty() after clear()
2018-09-21 11:35:57 -07:00
Michael Davidsaver 52e0bd09f8 sharedpv: defend against dying objects in SharedPV::close()
Likely when destroy=true
2018-09-21 11:35:57 -07:00
Michael Davidsaver 5f03fafba7 sharedstate minor doc 2018-09-21 11:35:57 -07:00
Michael Davidsaver eab36d5123 minor 2018-09-21 11:35:57 -07:00
Michael Davidsaver 3bc1603f47 SharedPV.close() call onLastDisconnect()
ensure that onLastDisconnect() is called when
the channels list becomes empty (edge), and
not afterwards.
2018-09-21 11:35:57 -07:00
Michael Davidsaver 9ec0172520 sharedstate: close() from dtor 2018-09-21 11:35:57 -07:00
Michael Davidsaver dd1e2b4048 sharedstate handle compute() error internally 2018-09-21 11:35:57 -07:00
Michael Davidsaver 1f5c0eedcb MonitorFIFO: open() handle compute() error internally
Introduce Error state when open() fails due to invalid
pvRequest mapping.
2018-09-21 11:35:57 -07:00
Michael Davidsaver 643f7e47c8 Apply PVRequestMapper to shared state put/get 2018-09-21 11:35:57 -07:00
Michael Davidsaver 527cb3fe62 MonitorFIFO use PVRequestMapper
MonitorFIFO add config option dropEmptyUpdates
really distinct from ignoreRequestMask
2018-09-21 11:35:57 -07:00
Michael Davidsaver 281447c909 pvtools: force flush cout
Apparently windows CRT doesn't have a timed flush.
2018-09-17 10:37:36 -07:00
mrkraimer 10bb8039e5 fix problem with pvget and pvinfo 2018-09-13 08:36:33 -04:00
mrkraimer 7b7511fc0f channelConnectThread changes 2018-09-12 14:12:08 -04:00
mrkraimer 36e18bfd21 merge with epics-base 2018-09-10 14:11:19 -04:00
mrkraimer ef623eef91 merge with epics-base 2018-09-10 13:46:50 -04:00
Andrew Johnson 28002fa6d7 Merge pull request #121 from epics-base/issue119
From Marty, fixes #119
2018-08-29 13:56:27 -05:00
mrkraimer 8e40907171 fix issues 117 118 119 2018-08-13 14:19:10 -04:00
Andrew Johnson 24b80151d5 Merge pull request #120 from epics-base/issue118
caProvider: Fixes issue #118 and adds more put/get equality tests for pvScalar
2018-08-13 10:22:08 -05:00
mrkraimer bef689d8c8 add more DBRlongout tests 2018-08-13 09:12:57 -04:00
mrkraimer 39ede57fe2 change ChannelConnectThread to channelConnectThread 2018-08-10 15:11:02 -04:00
Michael Davidsaver 07af87fb0b pva/client.h RPC give dummy valid bit mask
avoid the need for a NULL check.
2018-08-06 20:34:27 -07:00
mrkraimer f210c81e45 fix issue 119 2018-08-02 05:55:22 -04:00
mrkraimer 9ec087c7ed fix issue 118; add put/get equal tests for pvScalar 2018-08-01 09:40:09 -04:00
Michael Davidsaver e52d31d0bf Get2PutProxy pass along messages 2018-07-31 18:48:23 -07:00
Michael Davidsaver 8b60d87e42 pvac fix MailboxHandler
This is why OVERRIDE is so important...
2018-07-31 18:48:23 -07:00
mrkraimer 0d4bd9ad92 fix issue #118 2018-07-30 14:01:42 -04:00
mrkraimer bac1307136 channel connect: call requester from channel access callback 2018-07-24 10:33:15 -04:00
mrkraimer 16268cc9d6 add channelConnectThread; should fix connecting to 50000 channels 2018-07-20 13:18:59 -04:00
Michael Davidsaver f39174cb74 StaticProvider need to expose iterator type 2018-07-17 20:42:21 -07:00
Andrew Johnson 5a271ecf71 testCaProvider: Increase CA timeout delays for Jenkins 2018-07-17 14:13:02 -05:00
Andrew Johnson 35ff77e940 Include envDefs.h in the right place... 2018-07-17 12:49:08 -05:00
Andrew Johnson 5cbc21983a Fix for MacOS (clang) 2018-07-17 12:15:05 -05:00
Andrew Johnson aaafa924ee Remove unneeded WIN32-only code 2018-07-17 11:49:06 -05:00
Andrew Johnson 6576ec9db7 Fix for Windows and VxWorks (setenv is not portable) 2018-07-17 11:48:13 -05:00
Andrew Johnson 613bfc5289 Merge pull request #96 from mrkraimer/master
Merged Marty's rewrite of the CA provider
2018-07-17 11:00:10 -05:00