Commit Graph

1408 Commits

Author SHA1 Message Date
zimoch 9b8712e095 Merge remote-tracking branch 'github/recursion_bug_v2' into PSI-7.0 2024-12-05 16:59:12 +01:00
zimoch d13441ebba Revert "fix recursion bug"
This reverts commit 7d73932dc8.
2024-12-05 16:58:32 +01:00
zimoch b53505d339 Merge branch '7.0' into PSI-7.0 2024-12-05 16:58:15 +01:00
zimoch 75524e43bc loop safe wrapper for dbGet added 2024-12-02 11:18:42 +01:00
zimoch 1567da1366 correct mask for finding field in linkGrp
It worked before because the get_xxx functions are never called for
the links (bit0 = 1), but checking both bits looks cleaner.
2024-11-29 10:47:23 +01:00
zimoch 35ba9d65a2 fix support for link 0 2024-11-29 10:42:07 +01:00
Jure Varlec 8483ff9560 Clear NAMSG together with NSTAT and NSEV
Previously, there was no way to clear AMSG when setting a no-alarm
status: it kept the last error message, and it is strange to have a
record that has no alarm while showing an error. With this change, the
NAMSG field is treated the same as NSTA and NSEV: they are cleared when
their content is moved to STAT, SEVR, and AMSG.
2024-11-27 07:40:39 -08:00
zimoch 7d73932dc8 fix recursion bug
Previously, linking a field of e.g. a calc record to itself
(calc.INPA = calc.A) directly or through a chain of other records
that support to follow the link for attributes like units, precision
caused an infinite recursion and crashed the ioc.

Affected records: calc, calcout, seq, sub and aSub

Also added support for seq link 0 fields which had been added meanwhile.
2024-11-25 11:32:41 +01:00
zimoch b7cc33c3c9 Send DBE_PROPERTY events before DBE_VALUE | DBE_LOG events to allow clients to update their formatting etc in time 2024-11-13 10:00:12 -06:00
zimoch 9e7cd241e0 fix DBE_PROPERTY events for mbbi/mbbo records 2024-11-13 10:00:12 -06:00
zimoch faac1df1c6 send DBE_PROPERTY events only if property field actually changed 2024-11-13 10:00:12 -06:00
Chris Johns 594e5ee9db rtems: Set the name of EPICS threads so RTEMS commands report the name
Use the NP POSIX call pthread_setname_np to set the POSIX thread name.
2024-10-31 16:21:49 -05:00
Chris Johns 135193c4bd rtems: Fix shell networking commands
This patch cleans up the shell defines for the libbsd and legacy
network stack shell commands.

The top and rtems shell commands have been added.
2024-10-31 16:21:49 -05:00
Chris Johns 9d65da5c61 rtems: Fix rtems_bsdnet_bootp_server_address decl with RTEMS_LEGACY_STACK
The legacy stack provides this variable and this decl clashed. This was
seen before now due to the link order of libraries.
2024-10-31 16:21:49 -05:00
Chris Johns 83cbf8a4c7 freebsd: Add support for x86 and amd64 builds
Use the OS compiler, ie cc and c++.
2024-10-31 16:16:45 -05:00
Michael Davidsaver f6cd43b7cc asTrap serverSpecific is dbChannel
Save/restore dbAddr::pfield around callbacks to
avoid corruption if CB forgets to restore.

Need to peak at dbChannel.h during libCom build.
So generate dbCoreAPI.h early, and add extra
-I to source location when compiling dbTrapWrite.c
2024-10-31 12:30:15 -05:00
Timo Korhonen e6a2047bbf formatting fixes, as requested 2024-10-30 11:07:25 -05:00
Timo Korhonen 7923076b1c edit to reduce Codacy warnings. May not fix all but this is my best guess. 2024-10-30 11:07:25 -05:00
Timo Korhonen 46ad962cd8 replaced the html version of msi document with markdown. 2024-10-30 11:07:25 -05:00
Michael Davidsaver 022b8d468b document dbScan.h 2024-10-20 10:18:30 -07:00
Michael Davidsaver 152d306ad8 avoid UB with self pthread_join() 2024-10-02 09:22:00 -05:00
Michael Davidsaver 012139638d posix: epicsThreadCreateOpt() avoid leak of joinable on EPERM
On a system where RT priorities have been probed.
When creating a joinable thread, but still fails
with EPERM, the first epicsThreadOSD was leaked.
2024-10-02 09:22:00 -05:00
Minijackson dd5df7363c documentation: migrate ComponentReference to markdown
This enables us to use toctrees, which informs Sphinx on the global
documentation structure, and removes warnings about not-included
documents.

The old ComponentReference.pod was kept, in order to not break the old
HTML output, but the new Markdown file is used as source for the
generated markdown files in doc/
2024-10-02 09:16:29 -05:00
Minijackson c0aeb4c69b Move and fix ComponentReference.pod
Co-authored-by: Timo Korhonen <timo.korhonen@ess.eu>
Co-authored-by: Andrew Johnson <anj@anl.gov>
2024-10-02 09:16:29 -05:00
Minijackson 7cdaaf716a Generate Markdown from all .pod and .dbd.pod files
Co-authored-by: Timo Korhonen <timo.korhonen@ess.eu>
2024-10-02 09:16:29 -05:00
Minijackson 615ba73044 Rules to generate and install Markdown
Markdown can be generated from .pod and .dbd.pod files.
Markdown will be generated and installed by "make inc".

Co-authored-by: Timo Korhonen <timo.korhonen@ess.eu>
Co-authored-by: Andrew Johnson <anj@anl.gov>
2024-10-02 09:16:29 -05:00
Minijackson c285f2a78f dbdToMD.pl: create
Co-authored-by: Timo Korhonen <timo.korhonen@ess.eu>
2024-10-02 09:16:29 -05:00
Érico Nogueira 8045770751 libCom: don't use std::unexpected in epicsThread.
Besides being deprecated in C++11 and removed in C++17, the intended use
case for this was always wrong, since std::unexpected() is called by the
C++ runtime when a function throws an exception that was not specified
in its "dynamic exception specification", which is different from an
exception thrown by user code which wasn't caught [1,2]. Using abort()
keeps the same behavior, but with the intended semantics.

We don't use std::abort() to simplify backwards compatibility.

[1] https://github.com/epics-base/epics-base/issues/343
[2] https://en.cppreference.com/w/cpp/error/unexpected
2024-09-09 07:27:32 -07:00
zimoch 2296dbc132 Merge remote-tracking branch 'github/propmon' into PSI-7.0 2024-09-06 14:56:21 +02:00
zimoch 4af01ed26a Merge branch '7.0' into PSI-7.0 2024-09-06 14:55:12 +02:00
Michael Davidsaver 2e4113b63b Add typing to dbEvent.h opaque structs when -DUSE_TYPED_DBEVENT 2024-09-04 10:15:55 -05:00
zimoch 99f70a1081 Print link types as text instead of numbers 2024-09-04 10:13:08 -05:00
Grzegorz Kowalski 5d9ffe15da caget: free PV value after printing 2024-09-04 10:02:49 -05:00
Grzegorz Kowalski 3ac8dcc3de caget: free memory allocated for PV array 2024-09-04 10:02:49 -05:00
Jure Varlec 25e155ee8c Fix a mis-asssignemnt of copyright
Copyright was previously assigned based on the author's email, which had
been modifified by repository conversion from CVS to git. This rectifies
the situation by assigning copyright to the authors employer at the time
of creation of the file.
2024-09-04 10:02:04 -05:00
Jure Varlec 0d92b74aae Compactify SPDX tags in README files 2024-09-04 10:02:04 -05:00
Jure Varlec ecba8a3a5e Move SPDX tags in st file for compatibility 2024-09-04 10:02:04 -05:00
Jure Varlec 466a9b565e Change comment style for SPDX tags in C files 2024-09-04 10:02:04 -05:00
Jure Varlec c304b7db53 Add SPDX license tags to templates
Copyright information was gathered using `git log` with per-line history
tracking, which allows following the history of a file through renames.
2024-09-04 10:02:04 -05:00
Grzegorz Kowalski 0eb31ed70b free memory allocated for filenames 2024-09-04 09:59:55 -05:00
Chris Johns c5f5e4e508 rtems: Allow site local override of the default tick period
Add to configure/CONFIG_SITE.local:

 OP_SYS_CFLAGS += -DCONFIGURE_MICROSECONDS_PER_TICK=1000
2024-09-04 09:59:13 -05:00
Freddie Akeroyd dd154180bf Avoid isnan/isinf redefine in c++ on VS2013 and above 2024-09-04 09:48:03 -05:00
Freddie Akeroyd 574fe116fc protect isnan/isinf define on c++ 2024-09-04 09:48:03 -05:00
zimoch 7077ece7f9 Send DBE_PROPERTY events before DBE_VALUE | DBE_LOG events to allow clients to update their formatting etc in time 2024-09-02 13:45:25 +02:00
zimoch 22aaded26d fix DBE_PROPERTY events for mbbi/mbbo records 2024-09-02 11:46:49 +02:00
zimoch c1b8831205 send DBE_PROPERTY events only if property field actually changed 2024-09-02 11:46:16 +02:00
zimoch d67036fcc0 Merge branch 'aliases' into PSI-7.0 2024-08-26 16:37:57 +02:00
zimoch d494d91ba2 allow to load the same alias multiple times (unless dbRecordsOnceOnly is set) 2024-08-26 16:30:20 +02:00
Michael Davidsaver 052a0c7e19 test get_enum_strs() 2024-08-21 10:01:26 -05:00
Michael Davidsaver 979dde8376 redo get_enum_strs() to pacify _FORTIFY_SOURCES=3 2024-08-21 10:01:26 -05:00