Commit Graph

1568 Commits

Author SHA1 Message Date
Michael Davidsaver
de6586b92f MonitorElement::Ref swap() and move, but no copy 2018-06-05 09:32:22 -07:00
Michael Davidsaver
578dbc9456 add another ChannelProviderRegistry::addSingleton() overload
Construct a "factory" around a pre-allocated instance.
2018-06-05 09:32:22 -07:00
Michael Davidsaver
8000ed0637 client.h default ctor for ClientProvider
Allow an invalid ClientProvider to be created
for later assignment.
2018-06-05 09:32:22 -07:00
Michael Davidsaver
c8292caf91 remote: Request larger stack for workers
Overflows observed on RTEMS/ppc (mvme6100).
2018-06-04 10:08:01 -07:00
Michael Davidsaver
794d72ba6b client.h MonitorSync missing init of member 2018-06-04 10:08:01 -07:00
Michael Davidsaver
44132be716 avoid MSVC min()/max() conflict 2018-05-28 10:19:48 -07:00
Michael Davidsaver
12e7b7864b fix s_channelNameToProvider hack
Move from global to ServerContext, apply lock, and
properly test if no provider has claimed, eg an attempt
at unadvertised PV (still wouldn't work, but at least
wouldn't crash).
2018-05-18 17:04:07 -07:00
Michael Davidsaver
7a523dd948 drop unused NOMINMAX 2018-05-18 15:20:26 -07:00
Michael Davidsaver
ba41fa6d62 notes 2018-05-18 15:17:27 -07:00
Michael Davidsaver
ce19199edd cleanup 2018-05-18 11:58:35 -07:00
Michael Davidsaver
6ccca1ce58 const-ify string constants
yes really...
2018-05-18 10:12:34 -07:00
Michael Davidsaver
6abfe9d196 server: cleanup handling of vector of providers
avoid keeping extra refs.  situation is confusing
enough as it is.
2018-05-18 08:53:52 -07:00
Michael Davidsaver
bd88e35448 client.h update doc 2018-05-16 09:14:49 -07:00
Michael Davidsaver
51fdd506d0 update release notes 6.1.0-pre1 2018-04-24 13:50:59 -07:00
Michael Davidsaver
a75720120c client: call ChannelSearchManager::cancel() 2018-04-24 12:33:54 -07:00
Michael Davidsaver
1adea89e77 pvtools: combine separator and fieldSeparator
both always have the same value anyway...
2018-04-24 08:33:25 -07:00
Michael Davidsaver
9c25057d80 pvtools: drop unnecessary accessors for global flags
These don't provide any encapsulation or validation...
2018-04-24 08:29:45 -07:00
Andrew C. Starritt
a2b60771c2 pvget -m show time/alarm
MD: cleanups
2018-04-24 07:36:06 -07:00
Michael Davidsaver
7cf78d5b9b client.h add ClientProvider::name() 2018-04-20 15:22:57 -07:00
Michael Davidsaver
3d85852c93 attempt to fix dllimport issue 2018-04-18 09:01:11 -07:00
Michael Davidsaver
61d43e498d client.h std::ostream printing 2018-04-10 16:19:03 -07:00
Michael Davidsaver
0d40464541 client.h: expose reset()
can also be accomplished with assignment from empty.

op = pvac::Operation()
2018-04-10 15:17:18 -07:00
Michael Davidsaver
0c6fe2c1c6 client.h: add validity test for all handles 2018-04-08 16:04:36 -07:00
Michael Davidsaver
ff5d51b221 server: shorter name for Timer thread 2018-04-04 20:55:57 -07:00
Michael Davidsaver
1e0523b7b9 client context. Prevent transport dtor under channel mutex.
m_channelMutex is locked recursively, so places like
disconnect(bool,bool) which purport to unlock for the
Transport detory actually don't as they are called
with m_channelMutex already locked.

Make a rather ugly hack of saving a ref to m_channel
at the various entry point.
2018-04-04 19:25:04 -07:00
Michael Davidsaver
c9c8fb369a client context explicitly close() timer queue 2018-04-04 18:53:22 -07:00
Michael Davidsaver
d4822f141c simplify InternalClientContextImpl::destroy()
Collapse internalDestroy() into destroy()
2018-04-04 18:50:58 -07:00
Michael Davidsaver
128d4b67f9 simplify InternalChannelImpl::destroy()
Collapse channel destroy(bool) and destroyChannel() into destroy()
2018-04-04 18:48:48 -07:00
Michael Davidsaver
e97354db61 client context collapse channel createChannel() into searchResponse() 2018-04-04 18:44:11 -07:00
Michael Davidsaver
bab32c332a codec: notes on thread self dtor 2018-04-04 18:40:46 -07:00
Michael Davidsaver
54bb30fd86 reftrack BlockingUDPTransport 2018-04-04 18:31:12 -07:00
Michael Davidsaver
a8e26123c7 minor doc 2018-04-04 18:31:12 -07:00
Michael Davidsaver
7f5eb1de4d BlockingClientTCPTransportCodec collapse closedNotifyClients() into internalClose() 2018-04-04 18:31:12 -07:00
Michael Davidsaver
0eabf10005 codec: drop unused _shutdownEvent
using epicsThread::exitWait() instead
2018-04-04 18:31:12 -07:00
Michael Davidsaver
192955e7b5 client context: don't call cancel()
it doesn't do anything!
2018-04-04 14:55:41 -07:00
Michael Davidsaver
83a941c070 channelSearchManager minor 2018-04-04 14:53:52 -07:00
Michael Davidsaver
18491f6eb3 const-ify AbstractClientResponseHandler::_context 2018-04-04 10:12:44 -07:00
Michael Davidsaver
9e090fa191 client context: avoid lock order violations
avoid ordering violation of calling checkAndGetTransport(),
which locks channel mutex, while request mutex is locked.
2018-04-04 10:12:44 -07:00
Michael Davidsaver
8068ab3454 eliminate unnecessary m_nullMonitorElement 2018-04-04 10:12:44 -07:00
Michael Davidsaver
40ecc93e9d client context: use mutex guards
whether this locking is necessary is another question...
2018-04-04 10:12:44 -07:00
Michael Davidsaver
f2164ddb5a fix typedef in security.h
Can't refer to typedef in (private) remote.h
from (public) security.h
2018-04-04 10:12:44 -07:00
Michael Davidsaver
fe5780521b Context::getSecurityPlugins() no return of non-const ref.
Return of map as non-const ref. allows callers to modify.
Probably unintended.
2018-04-04 09:09:43 -07:00
Michael Davidsaver
3859793405 serverContext explicitly close/flush Timer queue 2018-04-02 12:40:18 -07:00
Michael Davidsaver
a3d820cf57 DefaultBeaconServerStatusProvider avoid unnecessary ServerContext ref
breaks loop ServerContext -> beaconEmitter -> BSSP -> ServerContext
2018-04-02 12:39:46 -07:00
Michael Davidsaver
abed887d87 beaconEmitter: avoid ref. loop with Timer
emitter schedules itself and timer holds a ref.
while queued.  So the emitter isn't destroyed
until the timer expires.
2018-04-02 12:38:42 -07:00
Michael Davidsaver
d6a29a2a86 beaconEmitter const-ify data members 2018-04-02 11:53:00 -07:00
Michael Davidsaver
28cec947ae serverContext: collapse destroyAllTransports() into shutdown() 2018-04-02 11:47:20 -07:00
Michael Davidsaver
eed26a166e testChannelAccess: loosen timestamp tests to reduce false positive failures 2018-04-02 11:45:33 -07:00
Michael Davidsaver
df14a19ae0 codec: eliminate internalPostClose()
no reason to distinguish before and after
send worker break is _requested_ (won't
actually be stopped).
2018-04-02 11:30:19 -07:00
Michael Davidsaver
434a43dfe1 codec: less force-ful shutdown
eliminate unused 'force' argument.
2018-04-02 10:46:57 -07:00