Why does CONFIG_POSIX_API enable experimental Kconfig items? #85336
-
Hello, I was told to ask my questions here. They were originally asked on the Nordic Devzone here: https://devzone.nordicsemi.com/f/nordic-q-a/118626/why-does-config_posix_api-enable-experimental-kconfig-items To preface:
When using a nRF91 modem, it seems that CONFIG_POSIX_API is used by the samples included with the nRF Connect SDK. Even the Developer Academy courses use the POSIX sockets API. Upon enabling the configuration that notifies you of when experimental Kconfigs are used, I see a bunch in the build log. Seme of which are CONFIG_POSIX_FD_MGMT and CONFIG_POSIX_MULTI_PROCESS. Question 1: If CONFIG_POSIX_API is not marked as "experimental", but enables other experimental Kconfigs, then shouldn't CONFIG_POSIX_API be experimental by inheritance? Question 2: Why does CONFIG_POSIX_API enable POSIX_MULTI_PROCESS if the description for POSIX_MULTI_PROCESS says "Note: Currently Zephyr does not support multiple processes and therefore much of this option group is not implemented and is considered undefined behaviour." I don't want to use anything that could result in "undefined behavior". Is it safe to disregard this warning? Some product certification bodies such as FDA have guidelines on not using "experimental" libraries from my understanding. If experimental libraries are used, you must provide a risk assessment and mitigation plan for any potential issues as it relates to cybersecurity, public safety, etc. Question 3: Why are the POSIX Kconfigs used for modem libraries in numerous SDK revisions still experimental? They have been around since the nRF9160 from what I understand (please correct me if I am wrong). Seems like whatever Kconfigs needed for cellular communication would have matured and should no longer be experimental. Thanks, Derek |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 6 replies
-
@cfriedt FYI |
Beta Was this translation helpful? Give feedback.
Fairly certain that @rlubos fixed this in #83105.