NETWORK-OS/CONFIG: System calls "select()" and "poll()" will indicate sockets are readable even though there is no data available
(Doc ID 1010357.1)
Last updated on APRIL 24, 2020
Applies to:Solaris Operating System - Version 8.0 and later
Applications that use TCP sockets to exchange data via the network will be affected. If an application uses the system call poll() and select() to check the arrival of data, these system calls will indicate new data even if there is no data available.
As a result of the above, when applications use blocking mode sockets, applications will be blocked executing the read()/recv() system calls which are attempting to retrieve non-existent data. Similarly, when these applications use non-blocking mode socket, the read()/recv() system calls will return an EAGAIN error in response to the lack of available data. This issue may happen if the TCP module detects checksum error.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!