Commit Graph

14558 Commits

Author SHA1 Message Date
Michael Davidsaver 111cac8e47 merge 3.14 2017-08-01 17:14:34 +02:00
Michael Davidsaver 5c8e5c52ef rsrv: fix recv() error handling on WIN32
For WIN32 osiSockIoctl_t is unsigned, so

> osiSockIoctl_t nchars = recv(...

is casting signed -> unsigned which treats
errors as success.
2017-08-01 17:02:41 +02:00
Michael Davidsaver 546df1c1f0 rsrv: export CASDEBUG to iocsh 2017-08-01 17:02:41 +02:00
Michael Davidsaver 603331e7a5 rsrv: flush any queued messages before forced disconnect
Avoid loss of various ERROR messages which camessage()
has queued.
2017-08-01 16:44:48 +02:00
Michael Davidsaver 4b272cc0cf rsrv: locking in cas_send_bs_msg()
Must lock around "pclient->send.stk = 0u;"
2017-08-01 16:44:48 +02:00
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 f04f17f9bf Remove vpath for %.pl files
It isn't needed, and in some configurations it causes build failures.
Similar problems could still occur for other file types with a similar
vpath, but it's less likely that other file types would be installed in
an equivalent $(TOP)/../<dir> path.

The original issue with .pl files was caused by an installation of Base
where the parent directory had a bin/<host> soft-link pointing to the
same bin/<host> of a newer installation of the same version of Base, so
it had all the necessary .pl files in it. The vpath allowed the build in
src/tools to search $(TOP)/../bin/<host> when checking the buildInstall
dependency, and since it found those .pl files through the vpath it
didn't bother to install them. When they were run later on in the build
from the $(TOP)/bin/<host>/ path they weren't present so it failed.
2017-07-26 12:02:24 -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 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 630b4f375d Fix 'make test-results' rule for Windows 2017-06-22 16:42:53 -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 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 105e831442 Merge changes from 3.14 branch into 3.15 2017-06-14 10:17:31 -05:00
Andrew Johnson a1dc16848c configure: Fix include CONFIG_APP_INCLUDE
which needs to happen *after* CONFIG_SITE overrides.
2017-06-14 10:03:43 -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 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 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
Andrew Johnson 12d22e392f Merge 3.14 branch into 3.15 2017-05-30 17:14:56 -05:00
Andrew Johnson 0dc850f4ec A gitignore pattern for vi on MacOS 2017-05-30 17:13:56 -05:00
Andrew Johnson 98b0f7e48b Merge 3.14 branch into 3.15 2017-05-19 17:34:49 -05:00
Andrew Johnson 672fd16ec8 Add make targets test-results and clean-tests
These are mainly intended for CI builds.
2017-05-19 15:44:15 -05:00
Ralph Lange dcadeac903 ci: add appveyor configuration 2017-05-19 13:38:39 +09:00
Andrew Johnson 0b3e44747e Merge 3.14 branch into 3.15
# Conflicts:
#	configure/RULES.Db
#	configure/RULES_ARCHS
#	configure/RULES_BUILD
#	documentation/RELEASE_NOTES.html
2017-05-18 17:07:41 -05:00
Andrew Johnson b7b3dd2b37 Support for 'make junitfiles' target.
The Perl XML::Generator module must be installed to use this.
2017-05-18 16:31:43 -05:00
Andrew Johnson b14d77dcf2 Fix tools/test/*.plt 'use lib' lines
This allows the tests to work when INSTALL_LOCATION is set.
2017-05-11 15:29:52 -05:00
Andrew Johnson cb89710bbd Update comments in the configure/RELEASE file 2017-05-11 14:50:00 -05:00
Andrew Johnson b3bbf67ce8 Add support for a CONFIG_SITE.local file 2017-05-11 14:49:04 -05:00
Xiaoqiang Wang 82396ee3ef fix data size of gdd container type
getDataSizeElement of gdd container returns the number of sub fields.
It has to be called on the "value" field. This fix has already been done
in monitorReponse.
2017-05-10 10:22:13 -05:00
Michael Davidsaver a7c14ec995 Merge remote-tracking branch 'launchpad/3.14'
* launchpad/3.14:
  ioc/rsrv: bounds check DBR
2017-05-03 16:53:43 -04:00
Michael Davidsaver e430d097b7 ioc/rsrv: bounds check DBR
avoid array overrun when evaluating dbr_size_n() macro.
2017-05-03 16:49:28 -04:00
Michael Davidsaver 875e4db3f9 Merge remote-tracking branch 'launchpad/3.14'
* launchpad/3.14:
  missing include

Conflicts:
	src/ioc/dbStatic/dbStaticLib.c
2017-05-02 18:38:40 -04:00
Michael Davidsaver 8c8604c503 Merge remote-tracking branch 'launchpad/3.14'
* launchpad/3.14:
  ioc/dbStatic: dbFreeBase() don't double free alias'd records
  ioc/dbStatic: plug leak in dbFreeBase()
  ioc/dbStatic: whitespace
  Fix indentation warning from GCC
  libCom/test: errlog test more verbose
  libCom: STATIC_ASSERT use c++11 static_assert when possible
  Check for empty PV names in Perl catools

Conflicts:
	src/ioc/dbStatic/dbStaticLib.c
	src/libCom/osi/epicsAssert.h
2017-05-02 18:31:40 -04:00
Michael Davidsaver 9d7c4434ad rename iocshFind -> iocshFindCommand 2017-05-02 18:23:52 -04:00
Keenan Lang 67e12bca9f Added patch 2017-05-02 18:23:52 -04:00
Keenan Lang 15cb72acbc Changed function outputs to remove pointer to next function. 2017-05-02 18:23:52 -04:00
Keenan Lang 45ed461665 more whitespace 2017-05-02 18:23:52 -04:00