Érico Nogueira and Michael Davidsaver
7c4a21eab4
libCom: detect support for backtrace() with __has_include.
...
This is necessary in order to build epics-base with musl libc, for
example, and any other C libraries which don't include this
functionality. In order to not regress builds with older compilers, we
still support the uclibc check. Furthermore, it has been checked that
uclibc-ng (the maintained version of uclibc) doesn't install the
<execinfo.h> header when the functionality is disabled [1] [2].
To avoid repetition, we don't define HAS_EXECINFO to 0 when it is not
available.
[1] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/Makefile.in?id=cdb07d2cd52af39feb425e6d36c02b30916b9f0a#n224
[2] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/Makefile.in?id=cdb07d2cd52af39feb425e6d36c02b30916b9f0a#n277
2023-09-21 08:18:49 -07:00
Michael Davidsaver
fab8fd7102
dbEvent: handle multiple db_event_cancel()
...
Allow for multiple db_event_cancel() (concurrent or
self-cancel) prior to event_task wakeup.
In db_event_cancel(), immediate free() only if idle
(not queued or in progress). Otherwise, defer free()
to event task. Avoids need to immediately expunge
canceled event from queue. Allow event task to
process canceled events as normal (except no user_sub)
until npend==0.
2023-09-21 08:18:49 -07:00
Michael Davidsaver
3d25756065
privatize evSubscrip
2023-09-21 08:18:49 -07:00
Michael Davidsaver
5aca4c684c
dbEvent minor
2023-09-14 08:54:40 +02:00
Michael Davidsaver
39b5c01c5d
minor
2023-09-14 08:54:40 +02:00
Michael Davidsaver
3b22e5f710
doc dbLock.h
2023-09-14 08:54:40 +02:00
Michael Davidsaver
9f660f2238
add initHookAtPrepare
2023-09-05 08:54:48 +02:00
Michael Davidsaver
ca9c957e62
doc add page for initHooks.h
2023-09-05 08:53:40 +02:00
Michael Davidsaver
8488c9e891
initHookName() assert length
...
basic compile time consistency check.
2023-09-05 08:53:07 +02:00
Michael Davidsaver
1f2edb69d2
silence -Wformat-security for printfRecord
...
we know what we are doing... right?
2023-09-05 08:53:03 +02:00
Michael Davidsaver
fe3ee85aee
doc errSymTbl.h
2023-09-05 08:52:58 +02:00
Michael Davidsaver
a74789d9c0
db: decimate and sync filters don't drop DBE_PROPERTY
2023-08-28 14:17:00 +02:00
Michael Davidsaver
7830345e59
move IocshRegister() to iocshInit()
...
No need for both global ctor and lazy init
2023-08-28 14:17:00 +02:00
Michael Davidsaver
1595ed8860
quieting clang-tidy, non-functional changes
...
Changes to syntax which should not effect generated code
2023-08-28 14:17:00 +02:00
Michael Davidsaver
d97943b697
timerPrivate.h: mark override/final
...
Clarify the class hierarchy by decorating types and
method override and/or final whenever possible.
Does not change the hierarchy.
2023-08-28 14:17:00 +02:00
Michael Davidsaver
f8f4376594
~fdRegForOldFdmgr() can't throw doubleDelete
...
Exceptions can't actually be thrown from a
C++ class destructor.
2023-08-28 14:17:00 +02:00
Érico Nogueira and Michael Davidsaver
df397f4ade
fix typo in boRecord.dbd.pod
2023-08-28 14:17:00 +02:00
Zainab Olalekan and Michael Davidsaver
7fd690e53e
Fix libcom test failure on RTEMS
2023-08-28 14:17:00 +02:00
Andrew Johnson and Michael Davidsaver
bc5d347bb2
Call perror() before close(), add detail to messages
2023-08-28 14:17:00 +02:00
Chris Johns and Michael Davidsaver
3ea29f581b
rtems: Close NTP socket
2023-08-28 14:17:00 +02:00
AlexWells and Michael Davidsaver
6de82bb0fd
Additional help messages for iocsh
...
Henrique Silva <henrique.silva@ess.eu >
2023-08-28 13:24:16 +02:00
zimoch and Michael Davidsaver
e1a51e2839
extra parentheses around second sizeof to silence "does not compute number of elements" warning
2023-08-28 13:24:16 +02:00
Michael Davidsaver
0f59d823d3
appveyor remove skip_commits:
2023-08-28 13:24:16 +02:00
Ralph Lange
00dc55b8a2
Fix usage info in .tools/make-tar.sh
2023-08-08 10:29:09 +02:00
Rolf Keitel and Andrew Johnson
524f81b8bd
Doc updates to PINI, PHAS & EVNT
2023-07-25 11:36:44 -05:00
Michael Davidsaver
80e62031e9
doc
2023-07-23 08:43:32 -07:00
Minijackson and Michael Davidsaver
d87fd0db01
Fix MAKEFLAGS parsing with Make 4.4+
...
Since Make version 4.4, MAKEFLAGS also contains long options and
overridden variables on the command-line[1].
[1]: https://git.savannah.gnu.org/cgit/make.git/tree/NEWS?h=4.4#n67
This means that parsing by filtering out '--%' doesn't work reliably
anymore, since it doesn't remove overrides:
Running 'make VAR=quacks' gives 'MAKEFLAGS=" -- VAR=quacks"', and
'checkflags' would understand that flags -q, -s, ... were set.
This would get transmitted below into 'QUIET_FLAGS' and
'QUESTION_FLAG', then passed to the 'genVersionHeader.pl' as '-i' and
'-q'.
The result would be that 'genVersionHeader.pl' would never create the
version header (only check for its up-to-date status), leading to
confusing errors:
../misc/epicsRelease.c:25:32: error: expected ')' before 'EPICS_VCS_VERSION'
25 | printf ( "## %s\n", "Rev. " EPICS_VCS_VERSION );
| ~ ^~~~~~~~~~~~~~~~~~
The NEWS file[1] recommends using 'firstword', but unfortunately this is
not compatible with GNUMake < 3.82.
2023-07-22 08:36:43 -07:00
Ralph Lange and Michael Davidsaver
6636b4b9e7
libCom: check calloc() failure in RTEMS-posix/osdMessageQueue.c
2023-07-22 08:35:59 -07:00
Ralph Lange and Michael Davidsaver
b51d1de283
libCom: fix possible memory leak in RTEMS-posix/osdMessageQueue.c
...
found by static code analysis (cppcheck @ sonarqube)
2023-07-22 08:35:59 -07:00
Ralph Lange and Michael Davidsaver
38c99df2e0
libCom: fix possible memory leaks in iocLogServer.c
...
found by static code analysis (cppcheck @ sonarqube)
2023-07-22 08:35:59 -07:00
Ralph Lange and Michael Davidsaver
688195a273
libCom: handle realloc() failures correctly in macEnv.c
...
found by static code analysis (cppcheck @ sonarqube)
2023-07-22 08:35:59 -07:00
Ralph Lange and Michael Davidsaver
d691acc001
ca: init local variable in catime.c
...
found by static code analysis (cppcheck @ sonarqube)
2023-07-22 08:35:59 -07:00
Ralph Lange and Michael Davidsaver
059d32a975
db: init struct members in dbChannel.c
...
found by static code analysis (cppcheck @ sonarqube)
2023-07-22 08:35:59 -07:00
Henrique Silva and Michael Davidsaver
5c99031157
Add missing AFTC documentation to records
...
Fixes #313
2023-07-22 08:33:19 -07:00
Henrique Silva and Michael Davidsaver
a01c671399
Add missing HYST field documentation to longin record
2023-07-22 08:33:19 -07:00
Minijackson and Michael Davidsaver
b2c80efd33
release notes: link release notes from submodules'
...
fixes #226
2023-07-22 08:33:08 -07:00
Karl Vestin and Michael Davidsaver
39b6fa26da
Added unit test for binary output record type
2023-07-22 08:32:16 -07:00
Karl Vestin and Michael Davidsaver
3ee6097ab7
Fixes #361
2023-07-22 08:30:44 -07:00
Emilio Perez and Michael Davidsaver
500a57738b
Validate target record name when creating an alias
...
This fixes issue #312 by printing an error when a field is specified
2023-07-22 08:29:09 -07:00
AlexWells and Michael Davidsaver
f488765631
Add tests for PR#310
...
Also add missing NULL/empty checks
2023-07-22 08:28:25 -07:00
Sebastian Marsching and Michael Davidsaver
3a2d225682
Detect error in fprintf and return ( fixes #309 ).
...
fprintf returns a negative value in order to signal an error. We have to
detect this situation in epicsStrPrintEscaped and return a negative
when fprintf returns a negative value in order to give the calling code
a chance to detect this situation.
The old implementation (of simply accumulating the return values of
fprintf) was wrong anyway, because it would not only lead to an error in
fprintf to be lost but would also cause the returned number to be too
small (not representing the actual number of bytes written) in such a
case.
The only case where the old implementation would work correctly was when
all calls to fprintf succeeded or all these calls failed.
2023-07-22 08:27:32 -07:00
Doug Murray and Michael Davidsaver
1d056c6fe4
Add support for CA tools timeout from environment variable EPICS_CLI_TIMEOUT
2023-07-22 08:24:22 -07:00
Michael Davidsaver
42604fc794
Allow clang with GCC compilerSpecific.h
...
Check EditorConfig / editorconfig (push) Failing after 1s
Base / Cross linux-aarch64 (push) Failing after 2s
Base / Cross linux-arm gnueabi (push) Failing after 1s
Base / Cross linux-arm gnueabihf (push) Failing after 2s
Base / CentOS-7 (push) Failing after 1s
Base / Fedora-33 (push) Failing after 2s
Base / Fedora-latest (push) Failing after 1s
Base / Ub-20 clang-10 C++11 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.10 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 xilinx_zynq_a9_qemu (push) Has been cancelled
Base / Win2019 mingw (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW (push) Has been cancelled
Base / Ub-20 gcc-9 unsigned char (push) Has been cancelled
Base / Ub-20 gcc-9 C++11, static (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW, static (push) Has been cancelled
Base / MacOS clang-12 (push) Has been cancelled
Base / Ub-20 clang-10 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 beatnik (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.9 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 pc686 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 uC5282 (push) Has been cancelled
Base / Win2019 MSC-19 (push) Has been cancelled
Base / Win2019 MSC-19, debug (push) Has been cancelled
Base / Win2019 MSC-19, static (push) Has been cancelled
Makes it easier to run clang derivative analysis tools
on builds configured for GCC.
dirks-last-7.0-merge
2023-06-13 08:47:13 -07:00
Michael Davidsaver
4ecc0daa79
make mapDBFToDBR[] const
2023-06-13 08:47:13 -07:00
Michael Davidsaver
5a1f3ecc8b
doc: note when some record types were introduced
2023-05-18 11:57:41 -07:00
Michael Davidsaver
cb97d662a7
doc
2023-05-01 10:31:01 -07:00
Michael Davidsaver
d4fab0d20e
iocsh: dbCompleteRecord() missing NULL check
2023-05-01 10:31:01 -07:00
Michael Davidsaver
0c13e6ba6c
iocsh: tab completion handle iocshArgArgv
2023-05-01 10:31:01 -07:00
Michael Davidsaver
8f1243da40
epicsSingleton: eliminate global ctor with >= c++11
2023-05-01 10:25:29 -07:00
Michael Davidsaver
fe9995c0b5
Update recommendation for CONFIGURE_MAXIMUM_FILE_DESCRIPTORS
2023-05-01 09:06:59 -07:00