Michael Davidsaver
3f03efe7fe
Add ERROR to error messages
2023-12-01 16:49:30 +01:00
Michael Davidsaver
1b23701946
incorrect error check on GetStdHandle()
...
Likely inconsequential as GetConsoleMode() should
return 0 when given an invalid handle.
2023-12-01 16:47:45 +01:00
Michael Davidsaver
0502fe25e4
print ANSI escapes to stderr
...
unconditionally print ANSI some escapes (to colorize errors)
to the stderr stream.
2023-12-01 16:47:18 +01:00
Michael Davidsaver
77a37781af
colorize more errlog messages
2023-12-01 16:38:54 +01:00
Michael Davidsaver
d31ba6ade3
doc
2023-12-01 16:35:55 +01:00
Michael Davidsaver
5a5535aa5b
iocsh: keep history file
2023-12-01 16:35:36 +01:00
JJL772
de61390049
Com: Make STATIC_ASSERT macro typedefs unique
2023-12-01 16:35:29 +01:00
Jack Harper
2c95dc91e9
iocsh: add comment to cvtArg explaining default iocsharg behaviour
2023-12-01 16:34:35 +01:00
AlexWells
680e1734a4
iocsh: Add underline separator between help outputs
...
Also tweaks the overall format of the message a bit.
Add tests for new help output format
2023-12-01 16:34:04 +01:00
Jeremy Lorelli
67e669c5e5
libCom: Fix buggy pointer dereference in postfix()
2023-12-01 16:02:34 +01:00
Michael Davidsaver
e291ca0a03
Fix compile w/ vs2012
2023-12-01 15:04:24 +01:00
Emilio Perez
5b84a86ccd
Allow adding error symbols after early initialization
...
This was acomplished by making errSymbolAdd add the error symbol directly
into the global hash table and removing errnumlist which is not needed
anymore.
Unit tests were added for checking the following cases:
- Adding a valid symbol and checking that it exists (fixed by this change)
- Getting an existing error symbol
- Getting a non existing error symbol
- Adding an invalid error symbol (fixed by this change)
- Adding an error symbol with a code that already
exists (fixed by this change)
Therefore, issue #268 was fixed
error: statically allocate error symbol hash table
This will allow calling errSymbolAdd before errSymBld, therefore, a
function adding error symbols can now be run before iocInit or errlogInit
error: add a constant for the minimum module number
Make adding an identical error symbol not fail
A test case was also added which test that adding an error symbol
with same error code and message as one added before will not fail
Add locking to error symbol table
This protects the cases of:
- simultaneously adding and requesting of an error symbol
- simultaneously adding many error symbols
Update release notes regarding adding error symbols
2023-12-01 15:03:00 +01:00
Michael Davidsaver
cb6442da71
epicsThreadShow() zombies
...
Flag when the thread has returned, but the tracking
struct is still around. eg. in need of joining.
2023-12-01 15:01:10 +01:00
Érico Nogueira
49b9573f3a
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-12-01 15:01:01 +01:00
1d3a2defa2
Merge 7.0 commit 'ca9c95' into PSI-7.0
2023-12-01 14:21:07 +01: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
fe3ee85aee
doc errSymTbl.h
2023-09-05 08:52:58 +02:00
Michael Davidsaver
c8d596034a
add missing include
2023-09-01 16:11:50 +02:00
Emilio Perez
9934242ccf
Add locking to error symbol table
...
This protects the cases of:
- simultaneously adding and requesting of an error symbol
- simultaneously adding many error symbols
x
2023-09-01 16:11:50 +02:00
Emilio Perez
e6dab90bf4
Make adding an identical error symbol not fail
...
A test case was also added which test that adding an error symbol
with same error code and message as one added before will not fail
2023-09-01 16:11:50 +02:00
Emilio Perez
c680b9bebd
error: add a constant for the minimum module number
2023-09-01 16:11:50 +02:00
Emilio Perez
9555ca05b8
error: statically allocate error symbol hash table
...
This will allow calling errSymbolAdd before errSymBld, therefore, a
function adding error symbols can now be run before iocInit or errlogInit
2023-09-01 16:11:49 +02:00
Emilio Perez
0cd56fa40b
Allow adding error symbols after early initialization
...
This was acomplished by making errSymbolAdd add the error symbol directly
into the global hash table and removing errnumlist which is not needed
anymore.
Unit tests were added for checking the following cases:
- Adding a valid symbol and checking that it exists (fixed by this change)
- Getting an existing error symbol
- Getting a non existing error symbol
- Adding an invalid error symbol (fixed by this change)
- Adding an error symbol with a code that already
exists (fixed by this change)
Therefore, issue #268 was fixed
2023-09-01 16:11:49 +02:00
1148931226
On Vxworks clone std* file handles because they are thread specific
2023-09-01 14:15:56 +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
Zainab Olalekan
7fd690e53e
Fix libcom test failure on RTEMS
2023-08-28 14:17:00 +02:00
Andrew Johnson
bc5d347bb2
Call perror() before close(), add detail to messages
2023-08-28 14:17:00 +02:00
Chris Johns
3ea29f581b
rtems: Close NTP socket
2023-08-28 14:17:00 +02:00
AlexWells
6de82bb0fd
Additional help messages for iocsh
...
Henrique Silva <henrique.silva@ess.eu >
2023-08-28 13:24:16 +02:00
73f80cced9
Merge branch '7.0' into PSI-7.0
2023-08-21 14:14:16 +02:00
Ralph Lange
6636b4b9e7
libCom: check calloc() failure in RTEMS-posix/osdMessageQueue.c
2023-07-22 08:35:59 -07:00
Ralph Lange
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
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
688195a273
libCom: handle realloc() failures correctly in macEnv.c
...
found by static code analysis (cppcheck @ sonarqube)
2023-07-22 08:35:59 -07:00
AlexWells
f488765631
Add tests for PR#310
...
Also add missing NULL/empty checks
2023-07-22 08:28:25 -07:00
Sebastian Marsching
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
1d056c6fe4
Add support for CA tools timeout from environment variable EPICS_CLI_TIMEOUT
2023-07-22 08:24:22 -07:00
0f086126b7
fix escaped quotes in quoted strings
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 / Fedora-33 (push) Failing after 2s
Base / CentOS-7 (push) Failing after 5s
Base / Fedora-latest (push) Failing after 1s
Base / Win2019 mingw (push) Has been cancelled
Base / Ub-20 clang-10 C++11 (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.10 (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 xilinx_zynq_a9_qemu (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 uC5282 (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 / 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
2023-06-22 16:37:29 +02:00
5b058d7d27
Merge branch '7.0' into PSI-7.0
2023-06-22 16:36:32 +02: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.
2023-06-13 08:47:13 -07:00
Michael Davidsaver
cb97d662a7
doc
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
Freddie Akeroyd
f56412d6a5
WIN32: use FlsAlloc() to cleanup epicsThreadOSD
...
Adjust macros for compiling for older MSVC/Win SDK versions
Try to cover missing fibres include in 7.0 SDK
Support Windows XP and above.
Also removed explicit define of _WIN32_WINNT in code if it has not
been passed on compile line. This is possibly a matter for
further discussion
2023-05-01 09:03:52 -07:00
912a82c0b5
replace deprecated decrementing volatile with atomic decrement
2023-05-01 09:03:52 -07:00