Commit Graph

2022 Commits

Author SHA1 Message Date
Andrew Johnson
02aa7e2f73 Stop bogus error messages from CA Repeater on Windows
Required adding a new API to osiSock.h and the 2
implementations of epicsSocketConvertErrnoToString.
2015-02-10 18:10:33 -06:00
Andrew Johnson
3d03822043 CAref reformatting/prettification 2014-11-08 10:19:59 -06:00
J. Lewis Muir
0d0ac88242 doc: Fix typos in CA reference manual 2014-11-07 14:56:41 -06:00
Andrew Johnson
02afb98f38 Reject NULL callback functions in ca_array_*_callback
Fixes lp:1369626
2014-09-17 10:21:07 -05:00
Andrew Johnson
a3b5ced30b CAref: Clean up HTML anchors
Only need to set name attribute on anchors, not id too.
Having both causes linklint warnings.
2014-03-14 15:43:29 -05:00
Andrew Johnson
6ad61aea32 Fix missing spaces in ADDR_LIST formats. 2014-02-11 17:44:14 -06:00
Andrew Johnson
197e992241 Fixed iocsh stream redirection for several commands
Eric provided the fixes to iocsh (empty commands would not reset
redirected streams), I fixed various commands.
2013-12-11 17:50:29 -06:00
Andrew Johnson
d6dab34ae9 Merged changes from Jeff Hill's ca-ref-man-maint branch.
This contains only text changes to the CA reference manual.
2013-11-07 17:57:09 -06:00
Andrew Johnson
2ad468dd38 CAref: Fix returns from ca_attach_context()
ECA_NORMAL was missing, ECA_ISATTACHED given twice.
2013-09-27 09:59:34 -05:00
Andrew Johnson
01f0fdbf1e More file permission fixes. 2013-08-19 15:46:51 -05:00
Ralph Lange
fb983fe382 CAref: typos, replace ..._event() calls with ..._subscription() (by J. Lewis Muir) 2013-08-16 17:00:13 +02:00
Andrew Johnson
f2891d72e5 ca: Add missing template instances for VxWorks 5.5.x 2013-07-10 14:55:34 -05:00
Andrew Johnson
c187d8c13a CAref: typo's, added missing ca_put_callback 2013-07-05 13:26:26 -05:00
Andrew Johnson
93449dccb8 ca: Fix acctst.c for older C compilers
All declarations must still precede other statements within a block...
2013-06-07 16:08:57 -05:00
Andrew Johnson
ee9c0ba409 ca: Minor reference manual tweaks. 2013-05-28 15:07:33 -05:00
Jeff Hill johill@lanl.gov
e0bc071de3 merged in fix for https://bugs.launchpad.net/epics-base/+bug/1179642
also merged in removal of c++ support for old HPUX compiler
2013-05-16 12:33:31 -06:00
Ralph Lange
b7018dd16d ca: Fix bug in "Firewalls" section of Channel Access reference manual 2012-12-11 23:38:42 +01:00
Andrew Johnson
01276d952f ca: Build caRepeater etc. by default
Exceptions for vxWorks, RTEMS and iOS which don't support
executable programs like the workstation OSs.
2012-11-26 15:37:54 -06:00
Jeff Hill
d8f7c3731d fixed various archaic sun pro build failures repoted by Dirk 2011-12-12 16:10:24 -07:00
Andrew Johnson
21b4acfa86 ca: Remove anonymous namespace from acctstRegister.cpp
The 3.14 branch still supports vxWorks 5.4.2 whose compiler
doesn't contain any namespace support.
2011-10-19 17:36:21 -05:00
Jeff Hill johill@lanl.gov
96cad82a2a o fixed launchpad epics base bug 878372
o fixed launchpad epics base bug 878387
o added regression test for bug 878372
o build the optional test and diagnostic codes  for all (not just vxWorks) IOCs
o added acctstRegister optional IOC shell registration for regression tests
2011-10-19 12:07:00 -06:00
Jeff Hill
83e5247ed4 workaround for non-standard vxWorks 5.5.2 gnu compiler 2011-09-08 17:57:14 -06:00
Jeff Hill
1b9ca756cc Changed repeaterTimerNotify interface implementation into a nested class of udpiiu so that we dont use multiple inheritance, and therefore hopefully avoid code generation problems with certain versions of g++ on MacOSX (I cant reproduce this problem on any ofthe machines here) 2011-07-26 16:23:34 -06:00
Jeff Hill
f9f8d1150c fixed spelling and formatting nits 2011-07-26 10:40:37 -06:00
unknown
5649e15842 ca: Remove unnecessary mutable qualifiers
These references are never actually "mutated", and break builds
with a recent C++ compiler.

Fixes lp:736273
2011-06-01 17:22:12 -05:00
Andrew Johnson
fbcc7b4a0d ca: Merged Jeff's tcpiiu changes
In disconnectAllChannels mark channels as unassigned to any list
because in some unusual situations (abrupt shutdown) the channels are
not immediately assigned to another list.
2011-02-11 14:55:04 -06:00
Jeff Hill
a2c87268f5 in disconnectAllChannels mark channels as unassigned to any list because in some unusual situations (abrupt shutdown) the channels are not immediately assigned to another list 2011-01-14 17:53:33 -07:00
Ralph Lange
3ca705752a catools: Fix help text for "-s" option (also in CA RefMan) 2010-11-24 13:31:47 -05:00
Ralph Lange
e65253f8b9 ca: Minor fix in CA Reference Manual 2010-11-05 15:57:34 -04:00
Ralph Lange
3398950f9d ca: Added chapter about firewalls to CA Reference Manual 2010-11-05 15:41:39 -04:00
Jeff Hill
f340b3e153 o removed -O3 from mingw debug builds (so the issues below are reproduced on mingw)
o gnu compiler for windows doesnt support well dll exporting individual functions from a class
in debug builds so I switched to exporting the entire interface class in several places
o fixed several places in ca lib where include of epicsTimer.h wasnt properly ifdef'd so
that it is imported by ca header files
--- these issues were already fixed on cvs main trunk ---
2010-11-04 10:19:54 -06:00
Andrew Johnson
d6c6a07cc3 CAref: Under DBR_STSACK_STRING s/ackv/acks/ 2010-09-29 11:20:00 -05:00
Ralph Lange
534bee1a2e Merged Ralph Lange's 'cac-dtor-racecond-fix' branch. 2010-09-27 18:39:50 -04:00
Andrew Johnson
a9b5f0c6a0 Merged Michael Abbott's dynamic-array branch, rebased.
I added Perl support, and wrote some release notes.
2010-09-20 16:21:50 -05:00
Ralph Lange
a0a9ee4553 ca: Avoid possible race condition during cac shutdown.
While the cac dtor runs and waits for TCP circuit threads to exit,
new circuits could be opened by name resolution replies on existing
(still active) circuits.
Avoid this by setting a flag (lock being held) in the dtor, and
checking it in cac::transferChanToVirtCircuit.
2010-08-23 16:17:16 -04:00
Andrew Johnson
85c2877746 Document the dynamic-array changes. 2010-08-17 18:06:19 -05:00
Jeff Hill
7af0397d58 Examining the previous change I see that it will introduce a race condition when circuits are being created and destroyed at close to the same instant in time. See revision 11786 of cac.cpp which fixes mantis 334 if you are interested in what this code does. After running the regression tests, I pushed in a fix (which is removing above mentioned change and restoring the increment of iiuExistenceCount in cac::findOrCreateVirtCircuit. 2010-08-16 17:45:06 -06:00
Ralph Lange
2666e9d62b Bug fixes to CA client introduced by CA-over-TCP code. 2010-08-16 15:49:52 -05:00
Andrew Johnson
1bab392da7 Deleted trailing ';' from epicsPlacementDeleteOperator macro
(which looks like a member function, but isn't).
2010-08-13 13:12:06 -05:00
Michael Abbott
519c94a6e3 Update rsrv to support V4.13 protocol extension.
The rsrv server is updated in this commit to deliver variable sized
waveforms in response to a zero length request, implementing an
extension to the v4 EPICS protocol tied to minor version 13.

The core of the changes are in read_reply, rsrv/camessage.c, which first
reserves packet space for the largest possible response, but then resizes
the packet according to how much data is actually returned from the
database.
2010-08-11 17:36:11 -05:00
Michael Abbott
ee4a615caa Client side support for automatic resizing arrays.
In this commit the channel access client is modified to allow a zero
size request in a caget or camonitor call.  This is passed through to
the corresponding CA_PROTO_READ_NOTIFY or CA_PROTO_EVENT__ADD message,
but only if the minor version of the protocol is >=13.

This commit also adds a new protocol test, CA_V413(), which detects a
server which claims to understand the new zero length request.

Finally, this commit prepares for a subtle change in the CA protocol.
A request for a zero length subscription or data request, which will
only be made for protocol version 4.13 and above, is interpreted as a
request for autosized data, where the intrinsic dynamic length of the
requested waveform should be returned.

With the synchronous ca_array_get() call there is no mechanism available
to pass back the size of the retrieved data if it is different from
the requested count, so the simplest thing is to ensure we don't
request autosizing data through this api.
2010-08-11 17:35:23 -05:00
Michael Abbott
e87bbef75c Update rsrv to support V4.13 protocol extension.
The rsrv server is updated in this commit to deliver variable sized
waveforms in response to a zero length request, implementing an
extension to the v4 EPICS protocol tied to minor version 13.

The core of the changes are in read_reply, rsrv/camessage.c, which first
reserves packet space for the largest possible response, but then resizes
the packet according to how much data is actually returned from the
database.
2010-08-11 16:38:49 -05:00
Michael Abbott
a0c0c55347 Client side support for automatic resizing arrays.
In this commit the channel access client is modified to allow a zero
size request in a caget or camonitor call.  This is passed through to
the corresponding CA_PROTO_READ_NOTIFY or CA_PROTO_EVENT__ADD message,
but only if the minor version of the protocol is >=13.

This commit also adds a new protocol test, CA_V413(), which detects a
server which claims to understand the new zero length request.

Finally, this commit prepares for a subtle change in the CA protocol.
A request for a zero length subscription or data request, which will
only be made for protocol version 4.13 and above, is interpreted as a
request for autosized data, where the intrinsic dynamic length of the
requested waveform should be returned.

With the synchronous ca_array_get() call there is no mechanism available
to pass back the size of the retrieved data if it is different from
the requested count, so the simplest thing is to ensure we don't
request autosizing data through this api.
2010-08-11 16:22:54 -05:00
Andrew Johnson
eda402cf66 Merged Ralph's ca-over-tcp branch.
Fixed some vxWorks compile errors, and made a number of edits
to the HTML in the CAref.html documentation.
2010-08-10 16:05:46 -05:00
Ralph Lange
0666207393 Removed comment about ellfree @Windows in udpiiu.cpp (suggested by Jeff). 2010-05-14 09:34:40 -04:00
Ralph Lange
be978d6499 Fixed issue "TCP Nameserver Connection Down Blocks All Callbacks" and cleaned up the SearchDest list / TCP circuit relation
* Pulled out tcpiiu::SearchDestTCP to have cac create the SearchDest independent from the TCP circuit
* Reorganized the relation between the SearchDestTCP and the TCP circuit:
  - SearchDest stays always on the cac list
  - TCP connection going down sets SearchDest inactive and SearchDestTCP's circuit member to NULL
  - Next seach request creates the new TCP circuit and sets SearchDestTCP's member, but leaves SearchDest inactive
  - Successful connect sets SearchDest active
* ReceiveThread releases the cac mutex before going to sleep in connect loop
2010-04-15 17:06:16 -04:00
Ralph Lange
a0e868e2e1 Make SearchDest.h include all the headers it needs 2010-04-09 10:59:57 -04:00
Ralph Lange
d539db4053 Fix for: TCP Nameserver Connections Do Not Reconnect 2010-04-09 10:38:18 -04:00
Ralph Lange
82551fd175 Added EPICS_CA_NAME_SERVERS paragraph. Fixed lots of minor issues (unprintable characters). 2010-04-07 17:15:39 -04:00
Ralph Lange
23612a7afe Merged Codeathon 2008 changes (10292..10293 on cvs-trunk branch).
* Fixed conflicts until base compiles
 * COMPLETELY UNTESTED
2010-04-06 17:59:35 -04:00