Commit Graph

9769 Commits

Author SHA1 Message Date
Andrew Johnson
cf22d9cedd Missed a $Log$ keyword. 2010-10-05 16:48:06 -05:00
Andrew Johnson
fbda9f3280 RCS keyword updates for Bazaar
Replaced $Id$ and $Header$ keywords with $Revision-Id$
Deleted $Log$ keywords and any log messages
2010-10-05 14:27:37 -05:00
Andrew Johnson
5d17059cb1 libCom: Changes to epicsVersion.h generation
Use DEV instead of CVS in names.
Lower-case the -rc<n> status strings.
Rename CVS_DATE to COMMIT_DATE.
No Bazaar equivalent to the CVS tag $Name$ exists.
Modernize and "use strict" in the Perl code.
2010-10-05 13:33:35 -05:00
Andrew Johnson
641aa70eb1 libCom/test: Added Michael Davidsaver's unit tests for errlog 2010-09-30 14:36:30 -05:00
Andrew Johnson
48aabfc6ad libCom/test/epicsStringTest: %Zd isn't portable. 2010-09-29 17:44:10 -05:00
Andrew Johnson
eaaea901e0 libCom: fix epicsNAN generation on vxWorks. 2010-09-29 17:42:10 -05:00
Andrew Johnson
d4814f1395 db/test: On vxWorks make a callbackTest.munch that works. 2010-09-29 16:00:46 -05:00
Andrew Johnson
d6c6a07cc3 CAref: Under DBR_STSACK_STRING s/ackv/acks/ 2010-09-29 11:20:00 -05:00
Andrew Johnson
58b5b81cb3 cas: fixed new[] .. free() mismatch (in OOM path)
Found by cppchecker, http://cppcheck.sf.net/
2010-09-29 00:44:47 -05:00
Ralph Lange
cbe2938628 catools: Fix caput so it can write enums w/o strings 2010-09-28 13:38:59 -04:00
Andrew Johnson
af43a9c957 softIoc: Cleanup makeInstallDir.pl build slightly. 2010-09-27 17:42:42 -05:00
Ralph Lange
534bee1a2e Merged Ralph Lange's 'cac-dtor-racecond-fix' branch. 2010-09-27 18:39:50 -04:00
Janet Anderson
00db17adb4 Added FINAL_LOCATION code. 2010-09-27 16:37:13 -05:00
Janet Anderson
3489c93e32 Added missing epicsShareAPI for db_get_field_and_count. 2010-09-27 11:41:53 -05:00
Andrew Johnson
46c21d276b Merged the apple-ios branch, iPad & iPhone target support! 2010-09-23 15:48:23 -05:00
Andrew Johnson
9678b69c1e libCom/errlog: Rewrote msgbufGetNode() to use buffer better.
Michael Davidsaver pointed out that the original algorithm used is
dumb, it can't reuse empty space at the beginning until all messages
have been drained.  This new version can, and is more efficient.
2010-09-23 15:41:55 -05:00
Andrew Johnson
5b860ec3ec libCom: Use SIG_IGN to ignore signals.
Simplified the code in osdSignal, also solves problems if a handler is
already installed that uses the 3-argument callback.
2010-09-23 15:09:03 -05:00
Andrew Johnson
eacb6602bc libCom: Use OS NAN and INFINITY macros where available.
bug: 545385
2010-09-23 14:18:03 -05:00
Andrew Johnson
4e99cfc763 Added target support for Apple's iOS devices.
Tom Pelaia II and Mark Engbretson contributed the build configuration
and OS-dependent files, I modified the build config to bring it up to
R3.14.12 standards and added the Release Notes.
2010-09-22 16:26:15 -05: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
Andrew Johnson
7ce4eb96ea cap5: Support dynamic array sizes through the Perl API. 2010-09-17 14:11:00 -05:00
Andrew Johnson
3950153451 cap5: minor documentation updates/fixes. 2010-09-17 13:51:31 -05:00
Andrew Johnson
3b4eedaa26 cap5: caget should print limits using %g, not %d. 2010-09-17 12:49:22 -05:00
Michael Davidsaver
aee66600ef errPrintf() newline fix.
errPrintf() was adding a newline when writing to the err log buffer,
but not when printing to the screen.  This results in the error
message running together with the next line.  Added a newline to the
stderr output.
2010-09-01 14:56:51 -05:00
Ralph Lange
866f062d0a toolsComm: Remove #ifdef checks for old VMS systems (fixes lp:625034) 2010-08-27 10:12:20 -04: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
Andrew Johnson
a6a01e6822 Converted buckTest.c to use epicsTime.h instead of time.h
This should finally resolve the build conflict between RTEMS-uc5282
and Windows, and remove the build warning on vxWorks.
2010-08-17 17:53:43 -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
Jeff Hill
a3dd3e1a2f unistd.h isnt available on windows, and doesnt appear to be required by this code? 2010-08-16 17:34:39 -06:00
Andrew Johnson
09c0c43865 Cleanup a couple of compiler warnings. 2010-08-16 16:15:26 -05:00
Ralph Lange
2666e9d62b Bug fixes to CA client introduced by CA-over-TCP code. 2010-08-16 15:49:52 -05:00
Jeff Hill
c1bd11de58 fixed bug where win32 version of epicsThreadHighestPriorityLevelBelow didnt map to a lower priority successfully if the epics priority was mapping into the 2nd win32 priority bucket 2010-08-13 18:15:49 -06: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
Andrew Johnson
0c4746dd66 Moved new variable definitions to the beginning of their block.
Older C compilers such as vxWorks 5.x insist on this.
2010-08-13 12:59:50 -05:00
Michael Abbott
e54b631b8d Guard memset in camessage.c to prevent wild memory overrun if mismatch
between payload and data size.
2010-08-11 16:49:46 -05:00
Michael Abbott
9d9ba1a442 Add CA message header size optimisation.
If a packet is sufficiently small it can be worth the small
optimisation of saving the 8 bytes in a large packet header.
2010-08-11 16:42:44 -05:00
Michael Abbott
30f0871c2b Drive-by refactoring in caserverio.c
Minor refactoring of code block in cas_copy_in_header() to gather
common header code.
2010-08-11 16:41:15 -05:00
Michael Abbott
aa23ab63f1 Add autosizing array support for caget and camonitor. 2010-08-11 16:39:52 -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
a0fb7fbed7 Clean up warnings from vxWorks 6.8.
Added back the -include vxWorks.h option for gcc with vxWorks 6,
it resolves many warnings about OFFSET being redefined.
2010-08-11 10:45:17 -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
Andrew Johnson
cc95161af0 Merged base-tests branch from epics-base-testing team.
Modified testspec output to omit Tests: line when empty
Added testspec generation to src/db/test/Makefile.
2010-08-04 14:16:14 -05:00
Andrew Johnson
2bb4e63d1e Clean up munch.pl, add -o option
chmod -x src/tools/*.pl
2010-07-29 14:58:14 -05:00
Andrew Johnson
0f431edbe6 Add support for vxWorks 6.8. 2010-07-29 12:39:54 -05:00
Andrew Johnson
f29bdb9d6e Solve C++ exception problems in vxWorks 6.x:
* Use a linker script when generating .munch files
 * Output exception handler frame registration code in _ctdt.c files
2010-07-29 12:35:53 -05:00
Eric Norum
31326b8b9f Add RTEMS R4.10 support 2010-07-23 09:21:02 -07:00
unknown
6cfb241404 Fix RTEMS build issue finding close() 2010-07-19 14:01:41 -05:00
unknown
1660dcac9c Removed trailing ';' from dbGetSevr macro definition. 2010-07-19 09:49:01 -05:00