1697 Commits

Author SHA1 Message Date
b5f73d8200 Merge branch '7.0' into PSI-7.0 2026-01-27 15:17:04 +01:00
Heinz Junkes
d3e414cbec udp socket functions with timeout 2026-01-21 10:04:48 -06:00
Michael Davidsaver
84d4627987 more doc dbEvent.h 2026-01-21 09:55:13 -06:00
Michael Davidsaver
839e7f4959 move dbUnitTest discussion to dbUnitTest.h 2026-01-21 09:55:13 -06:00
Michael Davidsaver
d724461f1c doc: remove @page directions
readthedocs build does not include these.
2026-01-21 09:55:13 -06:00
76a89b8cee add function attributes __malloc__ and __alloc_size__ for gcc and clang 2026-01-09 12:05:08 +01:00
9748cbd394 Fix gcc warning 'stringop-truncation' 2026-01-09 12:05:07 +01:00
422182d672 allow testing deprecating functions without warnings 2026-01-09 12:05:07 +01:00
f08fcfdb39 fix dir dependencies 2026-01-09 12:04:49 +01:00
80c708fdeb add function attributes __malloc__ and __alloc_size__ for gcc and clang 2026-01-07 09:59:31 -06:00
Michael Davidsaver
b2ed8bb98d doc dbEvent.h 2026-01-07 09:54:41 -06:00
3d95dece6b Merge 7.0.10 into PSI-7.0 2026-01-06 14:57:16 +01:00
Michael Davidsaver
71e4635d34 fix testdbCaWaitForEvent()
sync with CA context thread(s) as well as dbCa worker.
2026-01-01 19:07:10 -08:00
Andrew Johnson
bbc4c6358e Update modules/* submodules to HEAD 2026-01-01 15:24:23 -06:00
12c56ffc95 upcast int to size_t to prevent overflow 2025-12-17 16:34:58 -08:00
2bd148ab37 add comment why cast is needed 2025-12-17 16:34:58 -08:00
209e1f9587 remove some unnecessary casts to (const char*) too 2025-12-17 16:34:58 -08:00
6d85a36397 remove needless pointer casts 2025-12-17 16:34:58 -08:00
85347172c6 fix clang warning missing-braces
../fdManagerTest.cpp:76:29: warning: suggest braces around initialization of subobject [-Wmissing-braces]
   76 |         osiSockAddr addr = {0};
      |                             ^
      |                             {}
2025-12-15 16:17:56 -08:00
ef2260f433 gcc < 5 does not know #pragma GCC diagnostic push
But it also does not know warning -Wformat-security.
2025-12-15 16:16:53 -08:00
22347af170 use c++ style output to avoid porability problems with printf format 2025-12-15 16:15:15 -08:00
c811ce218e fix format warning on mingw
Since we use gnu_printf format on mingw, the windows "I" modifier
is no longer recognized by the format checker. Use "ll" instead.
Meanwhile, MSVC understands that as well.
2025-12-15 16:15:15 -08:00
Andrew Johnson
3f24e1800e Replace UNRELEASED => 7.0.10 2025-12-15 16:39:00 -06:00
Andrew Johnson
cabbc44bf9 Update git submodules for release 2025-12-15 15:46:04 -06:00
Edmund Blomley
7d6ef32502 Docs: Mention that pva is supported for JSON links 2025-12-12 18:05:08 -06:00
Andrew Johnson
87f5e4b699 Various fixes to the new-notes files 2025-12-12 12:41:41 -06:00
Andrew Johnson
2e3938da6f Split PR-624 release notes
This removes the language specification and BNF descriptions from the
PR release notes (they're too long for that) to a separate document
in the libcom/src/as area. That should be combined into the chapter
on Access Security from the AppDevGuide someday.
2025-12-12 10:59:23 -06:00
Minijackson
4b6a6ddc7a iocsh.h: import documentation from AppDevGuide, minor tweaks
This imports the function-specifics that were documented in the
Application Developer's Guide, section "IOC Shell".

Other changes include:

- Removing unneeded "@typedef" and "@enum"
- Adding "()" and "@ref" for interlinking
- Removing duplicated documentation between
  iocsh & iocshLoad, and iocshCmd & iocshRun

Supports the PR:

https://github.com/epics-docs/epics-docs/pull/141
2025-12-08 12:14:56 -06:00
Michael Davidsaver
c2140ad0f3 doc clarify callbackRequestDelayed() timer allocation 2025-12-03 18:09:10 -08:00
Michael Davidsaver
186106cd33 process doc comments in callback.h
Also change doxygen annotation style from '\' to '@'
2025-12-03 17:23:11 -08:00
Michael Davidsaver
baa4cb5495 doc and callbackSetQueueSize sanity check 2025-12-03 17:14:10 -08:00
Michael Davidsaver
7ae3e4c2df epicsTimerTest: assert timers not expiring early 2025-12-03 17:08:48 -08:00
Michael Davidsaver
01360b2a69 Avoid early expiration of timers on !RTOS 2025-12-03 17:08:48 -08:00
Michael Davidsaver
491d532170 doc epicsSnprintf()
Document that epicsSnprintf() adds a nil on success,
capacity permitting.

Note OS specific ambiguity on error.  Linux and MSVC
inject nil for most failures (bad format).
Not clear if vxworks/fioFormatV() does.

Not clear if long description of non-compliant
return value is still accurate.
2025-12-03 10:04:33 -06:00
Michael Davidsaver
cc98ef8696 doc: epicsThread.h
Describe lifetime of epicsThreadId for a newly created thread.
2025-12-03 09:46:39 -06:00
Michael Davidsaver
1910478297 Ensure pthreadInfo->tid initialized for both creator and new thread 2025-12-03 09:46:39 -06:00
Michael Davidsaver
214b5d935b posix: correct race and mis-count in epicsThreadCreateOpt()
Corrects two issues.  012139638d
added a dec-ref in the status==EPERM path, but neglected to
add a matching inc-ref.  So if a joinable pthread_create()
actually errored with EPERM, then no reference is left for the
joiner.

Secondly, and far more suble, is a data race if pthread_create()
succeeds in starting a new thread, which ends and free()'s
pthreadInfo before pthread_create() writes pthreadInfo->tid .
2025-12-03 09:46:39 -06:00
90a727c901 Fix spelling errors
Most errors found with:

codespell -L cach,thst,odly,aslo,parm,parms,inpu,ges,prset,pevent,ptd,pring,valu,noo,noe,ned,inout,ro,siz,froms,nd,fo,singl,sart,multy,tthe,allong,ment,inate,nodel,tring,alse,ture,thi,wille,numer

Some more manually found (its -> it's)

c++20: Do not use apostrophe (e.g. can't) in unquoted #error message
2025-12-01 19:00:04 -08:00
Michael Davidsaver
45e3e58a1f asLib: fix generic lexer/parser 2025-11-23 14:03:47 -08:00
Michael Davidsaver
1f4b39cd08 ascheck cleanup 2025-11-23 14:03:47 -08:00
george-mcintyre
9b532540bf Introduce Future Proofing to ACF parsing.
- Allow ACF files to contain sections that are unsupported
- introduce a pragma disable-strict-parsing to disable strict parsing and allow files to be accepted

Add tests for future proof parser functionaluty

Expanded tests for Access Security configurations to validate parsing behaviors for unsupported elements. Added detailed cases covering invalid formats, unsupported modifications, and acceptable configurations while maintaining future-proofing and backward compatibility assurances.

Refactor parser to handle generic items and floating-point tokens

Replaced "unsupported elements" with a more flexible "generic items" mechanism to enhance parser extensibility. Added support for floating-point numbers in parsing rules. Updated tests and rules to reflect these changes, ensuring better handling of nested and unknown configurations.

Add warnings for unsupported ACF elements and update tests

Introduced `yywarn` to log warnings for unsupported ACF elements, rule permissions, and conditions in `asLib.y`. Updated test configuration to replace generic placeholders with more descriptive names. Adjusted test cases and reduced the test plan count to reflect the changes.

Remove unused strictParsing logic and improve error handling.

Removed strictParsing variable and related code as it was no longer in use. Enhanced error messaging and parsing logic for handling unsupported elements. Updated test cases for better clarity and expanded coverage of edge cases.

Enhance ASLib parsing with Int64/Float64 support.

Updated ASLib to utilize 64-bit integers and floats for improved parsing precision. Replaced legacy parsing methods with epics-friendly functions, improved error handling, and adjusted tests and grammar accordingly.

Refactor AS parser to separate non-rule keywords

Introduced a new `non_rule_keyword` type and moved `tokenASG` and `tokenRULE` under it for better logical grouping. This improves parser clarity and maintains a clean separation of keyword types.

Add rule-specific parsing for generic block elements

Introduce new rules for parsing rule-specific generic block elements and their names. This enhances the grammar to handle additional cases while maintaining memory management and error handling. Adjust references to use the new rule where applicable.

Refactor grammar rules in asLib.y to remove remaining shift/reduce conflict

Reorganize and refine grammar rules for handling generic elements, blocks, and lists. Simplifies the structure while introducing clearer distinctions between different constructs. This enhances maintainability and removes ambiguities in parsing.
2025-11-23 14:03:47 -08:00
Jerzy Jamroz
84b4a5f63c Doc: Fix array field descriptions
* fix(aao, aai): change VAL field type from DOUBLE[] to FTVL[]

* fix(aSub): change 'Input Value Fields' type from FT[A–U] to FT[A–U][NOA–NOU]

* fix(aSub): change 'Output Value Fields' type from FTV[A–U] to FTV[A–U][NOVA–NOVU]

* fix(waveform): change VAL field type from FTVL to FTVL[NELM]

* fix(aai): remove 'analog' from the record name

* fix(aao): remove 'analog' from the record name

* fix(aai,aao): remove 'Analog' from the record names
2025-11-19 10:47:23 -06:00
Ralph Lange
0916cf985c libCom/posix: don't memlock() if opted out of FIFO scheduling 2025-11-19 10:25:42 -06:00
Ralph Lange
862272d666 libCom/posix: add env var to opt out of FIFO scheduling
- add EPICS_ALLOW_POSIX_THREAD_PRIORITY_SCHEDULING
  (default: YES)
- start EPICS threads with default policy
  when set to NO
2025-11-19 10:25:42 -06:00
6c2cbe0101 Update normativeTypes to fix NTNDArray::getValueSize (#732)
* Update normativeTypes to fix NTNDArray::getValueSize

* Update normativeTypes for Release Notes

---------

Co-authored-by: Andrew Johnson <anj@anl.gov>
2025-11-05 14:17:31 -06:00
88bfd6f378 Allow hex and octal strings in dbPut and dbGet
Setting EPICS_DB_CONVERT_DECIMAL_ONLY to YES/yes change the dbPut() and dbGet()
string to integer conversions to the original decimal only policy.
2025-11-05 10:11:06 -06:00
Michael Davidsaver
e08d7310b9 posix: epicsThreadShowAll include OSD priority range and mlockall state 2025-11-05 09:59:50 -06:00
Jerzy Jamroz
d58d1420b8 docs: clarify Drive Limits behavior in aoRecord 2025-11-05 09:36:49 -06:00
Andrew Johnson
e12269c302 Include readline.h before EPICS headers 2025-10-24 13:13:03 -05:00
Andrew Johnson
8311a5b360 Disable epicsStdio.h redefinitions
readline.h uses printf in an attribute
2025-10-24 12:22:54 -05:00