Commit Graph

1498 Commits

Author SHA1 Message Date
Michael Davidsaver
d605eaca11 pvput avoid unnecessary iteration 2018-02-27 13:27:38 -08:00
Michael Davidsaver
ef74bdeccd Merge remote-tracking branch 'origin/master'
* origin/master:
  implement suggestions from Andrew
  termination and error handling changes.
2018-02-21 11:20:20 -08:00
Michael Davidsaver
909cef9200 minor 2018-02-21 11:19:58 -08:00
Michael Davidsaver
b5bf6a4ccd client: (shallow) copy into Monitor::root
Avoid exposing refs. from monitor queue
which might then be used after release().
Also allows users the possibility of caching
getSubField() until root.get() actually changes.
2018-02-21 11:19:21 -08:00
Michael Davidsaver
79ada524fa getRequester() may return NULL 2018-02-20 11:28:32 -08:00
Michael Davidsaver
50cee1d161 minor 2018-02-20 10:18:39 -08:00
Marty Kraimer
fe52a1673e Merge pull request #88 from mrkraimer/master
termination and error handling changes.
2018-02-16 05:29:43 -05:00
mrkraimer
5b32b4e072 implement suggestions from Andrew 2018-02-15 15:57:00 -05: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
18758fa497 throw new doesn't work
javaism...
2018-02-13 18:07:58 -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
a266777d82 destroyAllChannels() swap out channels list
avoid possible modifications while iterating.
2018-02-13 17:58:56 -08:00
Michael Davidsaver
8e88f534bb spamme advertise NTScalar 2018-02-13 17:49:02 -08:00
Michael Davidsaver
d12a6cad9b Move PVACCESS_DEFAULT_PROVIDER def out of header 2018-02-08 11:32:18 -08:00
Michael Davidsaver
b397e3e928 Revert "convert global string "constants" to macros"
This reverts commit 49b2507985.
2018-02-08 11:00:40 -08:00
mrkraimer
952c482d68 merge with latest from epics-base 2018-02-08 07:58:52 -05:00
Michael Davidsaver
5c1b638db5 avoid spurious Leak warning
copying an array just to see if it is empty
isn't so efficient.
2018-02-07 20:17:40 -08:00
Michael Davidsaver
e8347f17b4 minor 2018-02-07 20:16:38 -08:00
Michael Davidsaver
24ffccf90d better TransportRegistry::remove()
now with the same complexity as the original...
2018-02-06 18:20:33 -08:00
Michael Davidsaver
40868b7b8b cleanup 2018-02-06 18:15:13 -08:00
Michael Davidsaver
c92045620a oops 2018-02-06 16:54:54 -08:00
mrkraimer
fcaeb414a0 termination and error handling changes.
epicsAtExit is no longer used to call ca_context_destroy.
It is now called from the destructor for CAChannelProvider.

Several changes were made for handling errors.
2018-02-06 10:20:29 -05:00
Michael Davidsaver
5f9508a3b1 demote getTransport() fialure message to debug
the connect() will be retried, so this isn't fatal.
2018-02-01 20:04:03 -08:00
Michael Davidsaver
d41d15d59e drop some dead code 2018-02-01 19:51:32 -08:00
Michael Davidsaver
606669c62b less verbose error message when ::connect() fails 2018-02-01 19:51:15 -08:00
Michael Davidsaver
9b828852c0 Transport::getRemoteAddress() return reference
make it clear that result is always !NULL
2018-02-01 19:09:44 -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
5a86835a6f add ref-counter for Transport ABC 2018-02-01 11:17:56 -08:00
Michael Davidsaver
a039b48c1f caProvider: remove deprecation warnings
make no-op destroy() private to prevent
accidental usage.
2018-01-31 12:49:10 -08:00
Michael Davidsaver
d33356ced6 drop deprecated 2018-01-31 12:48:59 -08:00
Michael Davidsaver
49b2507985 convert global string "constants" to macros
avoid instantiating in all compilation units.
2018-01-31 12:48:25 -08:00
Michael Davidsaver
3bb2f25bed Merge remote-tracking branch 'origin/master'
* origin/master:
  prevent CAChannel::disconnectChannel() from calling ca_clear_channel twice This was causing a crash when exiting
  Revert "When caProvider is destroyed make sure all channels are cleared"
  make changes suggested by andrew that remove warning messages
  Clean up compiler warnings
  fix issue #77
2018-01-31 11:51:57 -08:00
Michael Davidsaver
abce3faa86 fix 'pva' provider registration during static linking
Move 'pva' provider registration into registry singleton
construction to ensure that it is done.
2018-01-31 11:51:13 -08:00
Michael Davidsaver
b05ec689d0 pvget/pvinfo check for NULL channel 2018-01-31 11:51:13 -08:00
Michael Davidsaver
c6b1786008 minor doc 2018-01-31 11:51:13 -08:00
Michael Davidsaver
9daf7a0cad remove unnecessary includes 2018-01-31 11:51:13 -08:00
Michael Davidsaver
cce7e10ac4 minor 2018-01-31 11:51:13 -08:00
Marty Kraimer
6fd9212230 Merge pull request #85 from mrkraimer/master
redo pull request #79
2018-01-30 08:50:08 -05:00
mrkraimer
595e54eea1 Merge https://github.com/epics-base/pvAccessCPP 2018-01-30 05:35:00 -05:00
mrkraimer
cb21eb4f1e prevent CAChannel::disconnectChannel() from calling ca_clear_channel twice
This was causing a crash when exiting
2018-01-30 05:08:43 -05:00
Marty Kraimer
61d546c932 Merge pull request #84 from epics-base/revert-79-master
Revert "When caProvider is destroyed make sure all channels are cleared"
2018-01-29 14:33:22 -05:00
Marty Kraimer
5c5da3b515 Revert "When caProvider is destroyed make sure all channels are cleared" 2018-01-29 13:53:25 -05:00
Marty Kraimer
a14cca78e0 Merge pull request #79 from mrkraimer/master
When caProvider is destroyed make sure all channels are cleared
2018-01-29 13:00:14 -05:00
mrkraimer
4d2e682a95 make changes suggested by andrew that remove warning messages 2018-01-29 10:19:56 -05:00
Andrew Johnson
fa46935d35 Clean up compiler warnings 2018-01-04 17:52:36 -06:00
Michael Davidsaver
d1fca67cf2 ioc: shutdown PVA server via epicsAtExit()
Otherwise is shutdown in global dtor.
Better to use epicsAtExit() which has
some ordering
2017-12-28 11:08:13 -06:00
Michael Davidsaver
903d117485 pvAccessLog() add EPICS_PRINTF_STYLE()
and fixup incorrect specifiers
2017-12-28 10:49:54 -06:00
Michael Davidsaver
f076adc1ae remove unnecessary atexit
The client factory is installed by global
ctor.
2017-12-28 10:38:05 -06:00
mrkraimer
d3ce104c33 fix issue #77 2017-12-23 06:35:23 -05:00