JDK-7166048 : (se) EPollArrayWrapper.c no longer needs to define epoll data structures
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.nio
  • Affected Version: 7
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: linux
  • CPU: x86
  • Submitted: 2012-05-03
  • Updated: 2013-06-26
  • Resolved: 2012-06-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8
7u40Fixed 8 b40Fixed
Description
FULL PRODUCT VERSION :
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) Client VM (build 21.1-b02, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Linux d61 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux


A DESCRIPTION OF THE PROBLEM :
EPollArrayWrapper.c copied the data structure definition from sys/epoll.h .

This embedded data structure is confusing and affects the portability .

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Reading the code of EPollArrayWrapper.c

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
It should use include <sys/epoll.h> instead.
ACTUAL -
Embedded the data structure from sys/epoll.h

REPRODUCIBILITY :
This bug can be reproduced always.

Comments
EVALUATION The reason this code doess not include epoll.h is because it was created in JDK6 when the build and supported platforms included Linux 2.4 based distributions. Newer code using epoll in JDK7 includes sys/epoll.h as expected and we should change the old code too.
03-05-2012