Skip to content

Conversation

@cfriedt
Copy link
Member

@cfriedt cfriedt commented Oct 17, 2025

This is a test pr to see if changes for arcmwdt break 97152

CONFIG_XOPEN_STREAMS does not follow the pattern of other XSI Option
Groups, where the Option Group name is not the same as the feature
test macro that indicates it is supported by the implementation.

Deprecate CONFIG_XOPEN_STREAMS and rename it to CONFIG_XSI_STREAMS.

For more information, please see
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/\
V1_chap02.html#tag_02_01_05_09

Signed-off-by: Chris Friedt <[email protected]>
Deprecate the CONFIG_XOPEN_STREAMS Kconfig option in favour of
CONFIG_XSI_STREAMS, which matches the naming conventions of other XSI
Kconfig options and the actual Option Group name in the specification.

Please use CONFIG_XSI_STREAMS instead.

Signed-off-by: Chris Friedt <[email protected]>
Indicate that C library headers have declared `struct sigevent` and
`struct sigval` to avoid redefinition warnings / errors.

Signed-off-by: Chris Friedt <[email protected]>
In order to avoid multiple definition errors, indicate that struct
timespec is declared.

Signed-off-by: Chris Friedt <[email protected]>
In order to avoid multiple definition errors, indicate that struct
timeval is declared.

Signed-off-by: Chris Friedt <[email protected]>
Avoid redefining `time_t` by always including the definition from
`<time.h>`, since the C library may use something other than `long`.

This is still safe according to the specification, since it explicitly
states:

> Inclusion of the <signal.h> header may make visible all symbols from
> the <time.h> header.

For more information, please see
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html

Signed-off-by: Chris Friedt <[email protected]>
C11 requires `<time.h>` to define `struct timespec`, so do not define
it when C11 is already known.

Signed-off-by: Chris Friedt <[email protected]>
A previous typo went undetected that declared a type-defined
`timespec_t`, which is obviously incorrect, since it is only specified as
`struct timespec`.

Signed-off-by: Chris Friedt <[email protected]>
A previous typo went undetected that declared a type-defined
`sigevent_t`, which is obviously incorrect, since it is only specified as
`struct sigevent`.

Signed-off-by: Chris Friedt <[email protected]>
In order to avoid warnings, declare `union sigval` ahead of
`struct sigevent` and declare `siginfo_t` ahead of `struct sigaction`.

Signed-off-by: Chris Friedt <[email protected]>
Previously, the `sigev_notify_function` field was missing from
`struct sigevent`. Additionally, `sigev_notify_attributes` were
incorrectly named `sigev_thread_attr`.

Add it back to ensure that we are able to support realtime signals.

Signed-off-by: Chris Friedt <[email protected]>
If C libraries provide conformant POSIX headers, then use the headers
provided by the C library.

Otherwise, C library maintainers may add `include/zephyr/posix` to their
standard search path.

Signed-off-by: Chris Friedt <[email protected]>
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
D Security Rating on New Code (required ≥ C)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@cfriedt cfriedt closed this Oct 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant