diff --git a/transport-native-epoll/src/main/java/io/netty/channel/epoll/AbstractEpollChannel.java b/transport-native-epoll/src/main/java/io/netty/channel/epoll/AbstractEpollChannel.java index c991ce0f62..831f78f748 100644 --- a/transport-native-epoll/src/main/java/io/netty/channel/epoll/AbstractEpollChannel.java +++ b/transport-native-epoll/src/main/java/io/netty/channel/epoll/AbstractEpollChannel.java @@ -32,15 +32,16 @@ abstract class AbstractEpollChannel extends AbstractChannel { volatile int fd; int id; - AbstractEpollChannel(Channel parent, int fd, int flag) { + AbstractEpollChannel(int flag) { + this(null, socketFd(), flag, false); + } + + AbstractEpollChannel(Channel parent, int fd, int flag, boolean active) { super(parent); this.fd = fd; readFlag = flag; flags |= flag; - } - - AbstractEpollChannel(int flag) { - this(null, socketFd(), flag); + this.active = active; } private static int socketFd() { diff --git a/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollSocketChannel.java b/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollSocketChannel.java index 1eddf40ed9..ebba1bb381 100644 --- a/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollSocketChannel.java +++ b/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollSocketChannel.java @@ -47,6 +47,7 @@ import java.util.concurrent.TimeUnit; * maximal performance. */ public final class EpollSocketChannel extends AbstractEpollChannel implements SocketChannel { + private final EpollSocketChannelConfig config; /** @@ -61,8 +62,7 @@ public final class EpollSocketChannel extends AbstractEpollChannel implements So private volatile boolean outputShutdown; EpollSocketChannel(Channel parent, int fd) { - super(parent, fd, Native.EPOLLIN); - active = true; + super(parent, fd, Native.EPOLLIN, true); config = new EpollSocketChannelConfig(this); }