jerpelea opened a new pull request, #21294: URL: https://github.com/apache/nuttx/pull/21294
## Summary select() put a descriptor with POLLERR only in exceptfds. A caller that asked only for readfds or writefds did not see the error: select() returned 0, also with no timeout, where 0 means that the timeout expired. POSIX says that a descriptor is ready for reading or writing when the call would not block, also when it would return an error. For example, a fifth thread that polls a pipe with CONFIG_DEV_PIPE_NPOLLWAITERS=4 gets POLLERR, and its select() with no timeout returned 0 at once. Report POLLERR in readfds and writefds, as Linux does. poll() reports POLLHUP and POLLERR also when they were not asked for, so set only the bits of the sets that the caller asked for. ## Impact RELEASE ## Testing CI -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
