Michael Davidsaver
619a99bf99
rsrv: missing send lock around send_err()
2017-08-01 16:44:48 +02:00
Michael Davidsaver
1f8cb740f1
rsrv: drop un-commited VERSION message
...
This is a no-op as cas_commit_msg() isn't called.
A VERSION message is already queued during create_tcp_client().
2017-08-01 16:44:29 +02:00
Michael Davidsaver
322f7a97de
rsrv: add some comments
2017-08-01 16:44:29 +02:00
Michael Davidsaver
0fc770166c
rsrv: avoid possible overflow in vsend_err()
...
Accounting of message size doesn't take into account
space used by header of failed message (16 or 24 bytes).
This would allow a theoretical really long error message
to overflow the send buffer by 16 or 24 bytes.
2017-08-01 16:44:08 +02:00
Andrew Johnson
d1f60e4c8c
dbRegisterServer: Don't ignore sub-string names
...
Also adjusts the tests to check we do it properly.
2017-07-29 01:30:45 -05:00
Andrew Johnson
7c6b037252
Add explicit "no servers" message to dbsr()
...
Make dbsr explicitly say so if no dbServer layers have been
registered with the dbServer API.
2017-07-29 00:51:31 -05:00
Michael Davidsaver
296fb35a5c
db_cleanup_events handle 0
2017-07-28 11:18:56 +02:00
Michael Davidsaver
d2fad17be7
rsrv: fix large array expansion
...
Causes a crash when a larger buffer is made even larger.
Previous buffer not being free'd correctly.
2017-07-26 17:58:01 +02:00
Andrew Johnson
2cf997ddbf
Test EPICS_IOC_IGNORE_SERVERS variable
2017-07-25 00:38:34 -05:00
Andrew Johnson
1a70855e25
Use static strings for epicsInterruptContextMessage()
...
The callbackRequest() routine was passing a stack-allocated
string to epicsInterruptContextMessage() but on RTEMS the
pointer is queued without copying the string. This fix uses
static strings for the 3 messages instead.
Fixes LP: #1705219
2017-07-24 11:19:20 -05:00
Andrew Johnson
ba9763f551
Set test plan
2017-07-23 23:35:03 -05:00
Andrew Johnson
17e6060d16
Added some dbServer unit tests
2017-07-23 23:30:04 -05:00
Andrew Johnson
306a53503a
Add no-strict-aliasing compiler flags to gdd & pcas
2017-07-05 17:02:28 -05:00
Andrew Johnson
7a571989f8
Add yajl test for trailing commas in arrays and maps
2017-06-26 23:34:07 -05:00
Andrew Johnson
50028f2eda
Fix yajl_test bug
...
Test program doesn't always read from stdin, although in both
the original and the EPICS test director it does.
2017-06-26 23:32:10 -05:00
Andrew Johnson
c288de3bf2
Add yajl parser tests
...
yajl_test.c is the test runner, from the yajl distribution.
The yajlTestConverter.pl script converts the yajl distribution's
test case files into a data structure in yajlTestCases.pm.
yajlTest.plt is a test director which reads the test cases from
yajlTestCases.pm and runs them through the yajl_test program.
2017-06-26 00:40:17 -05:00
Andrew Johnson
08ad4de161
yajl: Out-of-memory handling; another size_t
2017-06-24 01:20:39 -05:00
Andrew Johnson
c2d22ed925
Added Doxygen comments for dbServer API
2017-06-24 00:04:20 -05:00
Andrew Johnson
db3e79e4b7
Merged changes from 3.15 branch into 3.16
2017-06-22 19:00:51 -05:00
Andrew Johnson
fb9e55a76e
Fix scalar link initialization from hex constants
...
Partially fixes LP: #1699445
Includes regression tests, with TODO for arrays which are still broken
and need a full JSON5 parser to fix.
2017-06-22 18:45:10 -05:00
Andrew Johnson
745109e423
Add loop detection to Release.pm
...
GNUmake will *usually* spot recursive "include" loops first, but
not if the loop is in another module that we're just checking.
In that case Release.pm eats file descriptors until they run out
without this fix.
2017-06-22 18:38:07 -05:00
Andrew Johnson
b9d2712738
Argh!!!
2017-06-22 17:07:56 -05:00
Andrew Johnson
a69bd833fc
More msi.plt retries for Jenkins builds on Windows
2017-06-22 16:45:00 -05:00
Andrew Johnson
9d4a90ac34
Fix link initialization from hex constants
...
Fixes LP: #1699445
Includes regression tests (some of which will fail on 3.16)
2017-06-22 14:29:04 -05:00
Andrew Johnson
cc0dacedb5
Merge changes from 3.15 branch into 3.16
2017-06-20 15:54:35 -05:00
Andrew Johnson
83cb50574a
Merge bug-fix from 3.14 branch into 3.15
2017-06-20 15:50:49 -05:00
Andrew Johnson
6b5e7da4fd
catools: dbr_long_t is only 32 bits wide
...
Don't print it as a native long.
Fixes LP: #1699332
2017-06-20 15:49:41 -05:00
Andrew Johnson
69d530f1db
Cross-build fix for generated .t files
...
The *target* OS should determine whether to use system or exec.
2017-06-16 15:37:55 -05:00
Andrew Johnson
411a60c32d
Add missing link libraries
2017-06-16 12:44:10 -05:00
Andrew Johnson
79fe79ad56
Merged changes from 3.15 branch into 3.16
2017-06-14 14:55:53 -05:00
Andrew Johnson
105e831442
Merge changes from 3.14 branch into 3.15
2017-06-14 10:17:31 -05:00
Andrew Johnson
2819d7ea3d
Posix epicsEventWaitWithTimeout() max delay
...
Limit timeouts on Posix to max-out at 10 years.
Adds a test that will fail when that time-out hits Y2038 on
systems where time_t is still a 32-bit integer.
2017-06-14 10:01:23 -05:00
Andrew Johnson
6efe292494
Add EPICS_IOC_IGNORE_SERVERS environment variable
...
dbServers cannot be registered when their names appear in this
variable, so they should remain inactive. This feature is mainly
intended for debugging, so the crude name search should be OK.
2017-06-13 23:36:30 -05:00
Andrew Johnson
f464274439
Remove declarations of previously-deleted functions
...
Fixes LP: #1696801
2017-06-12 18:15:12 -05:00
Andrew Johnson
6ef995525a
Restore the use of DBL_MAX in timerQueue.cpp
2017-06-09 13:44:30 -05:00
Andrew Johnson
18dee384ec
Fix tv_sec casts to use time_t, not long
2017-06-09 12:20:16 -05:00
Andrew Johnson
b369aa67f1
Use 1000 years as 'forever' in timers
...
DBL_MAX causes problems...
2017-06-08 21:55:12 -05:00
Andrew Johnson
085fab4aed
Merge 3.14 branch into 3.15
2017-06-08 09:55:05 -04:00
Andrew Johnson
c853234e01
Remove artificial 60-minute timeout limit (Posix)
2017-06-08 09:53:07 -04:00
Andrew Johnson
2d1d14e4b4
Make rsrv register itself using a DBD file
...
This allows the rsrv to be excluded by removing 'include rsrv.dbd'
from a local copy of the base.dbd file.
Server initialization, running and pausing are moved to new
methods of the dbServer object, and the existing registration
path is converted to just use the new rsrv.dbd file.
2017-06-06 23:18:55 -04:00
Andrew Johnson
4c6b570a46
Permit trailing commas in JSON maps & arrays
...
Handled in both dbYacc and yajl parsers.
Adds tests to linkInitTest.
2017-06-05 12:49:26 -05:00
Andrew Johnson
e1ba1c6bba
Fix YAJL token names, brace <=> bracket
...
This breaks future updates from upstream, but it looks like the
original author has abandoned the project anyway.
2017-06-05 12:01:37 -05:00
Andrew Johnson
7980d78908
Add tests for 64-bit constant link initializers
2017-06-04 00:40:53 -05:00
Andrew Johnson
80fa616a86
Convert lnkConst to 64 bit integers
2017-06-04 00:40:53 -05:00
Andrew Johnson
70a46e9c2c
Adjust IOC code for yajl-2.1.0 API
2017-06-04 00:40:53 -05:00
Andrew Johnson
de43941083
Upgrade yajl sources to 2.1.0
2017-06-04 00:40:53 -05:00
Andrew Johnson
073f3f33a6
Merge 3.15 branch into 3.16
2017-06-01 16:42:10 -05:00
Andrew Johnson
1293747cf3
Merge 3.14 branch into 3.15
2017-06-01 16:40:33 -05:00
Andrew Johnson
9c859ffdca
Protect casStatsFetch() if called before rsrv_init()
...
Also ensures clientQ is initialized before creating clientQlock.
Fixes LP: #1694966
2017-06-01 15:37:34 -05:00
Andrew Johnson
29c069db3d
Testing msi: Add retries if necessary
...
Hoping this will fix the annoying problems on Windows Jenkins.
2017-05-31 12:51:39 -05:00