Michael Davidsaver
db2482117d
rationalize osdMutex
...
Avoids split allocation.
Eliminates special case free-list.
win32: eliminate pre-XP
rtems-score: eliminate non-fast
2023-12-04 11:04:51 +01:00
122ca4e1d3
change PROC to ASL0
2023-12-01 16:51:49 +01:00
Érico Nogueira
68fea5c2ca
Set ASL0 for mbboDirect Bx fields.
...
Since the record's VAL field is ASL0, it doesn't make sense to gate
writes into the Bx fields with ASL1.
2023-12-01 16:49:41 +01:00
Michael Davidsaver
3f03efe7fe
Add ERROR to error messages
2023-12-01 16:49:30 +01:00
Michael Davidsaver
98dc97022a
const-ify dbLink arrays
...
external code really should never be modifying pamaplinkType[]
2023-12-01 16:49:18 +01:00
Michael Davidsaver
69a184ee1d
update submodules
2023-12-01 16:48:54 +01:00
Michael Davidsaver
27ad623d68
bi "Raw Soft Channel" use MASK
...
If set, apply MASK to value read into RVAL.
2023-12-01 16:48:06 +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
Jeremy Lorelli
ba21e655df
Null check callback function in callbackRequest
...
Previously, calling callbackRequest(pcallback), where pcallback->callback
is NULL, would result in a crash on one of the callback threads.
2023-12-01 16:36:43 +01:00
Michael Davidsaver
f4cb31d5d5
dbRecordField() add "did you mean..." hint for unknown field
2023-12-01 16:36:24 +01:00
Michael Davidsaver
ab4e687816
const-ify dbCopyEntry() and dbCopyEntryContents()
2023-12-01 16:36:12 +01:00
Michael Davidsaver
1d1926eaf3
avoid hang during concurrent db_cancel_event()
...
cf. fab8fd7102
2023-12-01 16:36:03 +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
Michael Davidsaver
304d8217d9
dbRecordsOnceOnly allow append only with "*"
...
with
> record(ai, "myrec") {}
dbRecordsOnceOnly!=0 currently disallows appending fields with either form:
> record("*", "myrec") {} # error
> record(ai, "myrec") {} # error
Change the meaning such that dbRecordsOnceOnly!=0
allways allows appending when explicitly intended (rtype "*").
> record("*", "myrec") {} # allowed
> record(ai, "myrec") {} # error
Also clearly label this parse error.
2023-12-01 16:35:18 +01:00
Jack Harper
2c95dc91e9
iocsh: add comment to cvtArg explaining default iocsharg behaviour
2023-12-01 16:34:35 +01:00
Michael Davidsaver
8cc15c6e68
remove unused local
2023-12-01 16:34:24 +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
4aea7de032
update modules/pvData
2023-12-01 16:33:42 +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
Michael Davidsaver
42dfca2b54
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-12-01 15:00:51 +01:00
Michael Davidsaver
3fd79a21a2
privatize evSubscrip
2023-12-01 15:00:34 +01:00
Michael Davidsaver
12f311b780
dbEvent minor
2023-12-01 15:00:16 +01:00
Michael Davidsaver
8abc9f8d03
minor
2023-12-01 15:00:08 +01:00
Michael Davidsaver
ae6f01b8ee
doc dbLock.h
2023-12-01 14:59:56 +01:00
1d3a2defa2
Merge 7.0 commit 'ca9c95' into PSI-7.0
2023-12-01 14:21:07 +01:00
43f6fd5060
install msi for all "Command" builds
Check EditorConfig / editorconfig (push) Failing after 2s
Base / Cross linux-aarch64 (push) Failing after 1s
Base / Cross linux-arm gnueabi (push) Failing after 2s
Base / Cross linux-arm gnueabihf (push) Failing after 1s
Base / CentOS-7 (push) Failing after 2s
Base / Fedora-33 (push) Failing after 1s
Base / Fedora-latest (push) Failing after 2s
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 uC5282 (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 / 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-10-03 16:50:39 +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
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
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