Fix #453, Select API and unit test updates #462
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe the contribution
On some OS's (notably RTEMS) one must only call select() socket file handles. This is indicated in OSAL via the "selectable" flag on each file handle. The select implementation needs to check this before invoking select().
Also update unit tests to match.
Fix #453
Testing performed
Confirm unit tests passing on relevant platforms
Expected behavior changes
Calls to select APIs on RTEMS where unsupported will return OS_ERR_OPERATION_NOT_SUPPORTED, rather than crashing.
System(s) tested on
Ubuntu 20.04 (native)
RTEMS 4.11 on i686 via QEMU
Additional context
This also affects #377 in that it improves the test, but the functional test still could be better in that it currently only checks for file handles being set, not file handles being unset, after select.
Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.