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 AUGUST 17, 2016

Applies to:

Solaris SPARC Operating System - Version 8.0 and later
All Platforms

Symptoms

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.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms