Go to file
Kun Zhang 8bdf73edea Explicit thread group on DefaultThreadFactory.
Motivation:

Fixes #5084. We (gRPC) encountered a bug that was triggered by
grpc/grpc-java@d927180. After that commit, event loop threads are
created per task by NioEventLoopGroup, and inherits the thread group of
the caller, which in our case is an application-provided request-scope
thread. Things go south when the application tries to manipulate (e.g.,
interrupt and join) all threads of the request-scope thread group, which
unexpectedly include the event loop threads.

Modifications:

DefaultThreadFactory will save the current thread group in constructor,
and apply it to all new threads.

Result:

Threads created by DefaultThreadFactory will be in the same thread group
as the thread where the factory is created.
2016-04-06 21:19:18 +02:00
all [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
buffer PoolChunkList not correctly move PoolChunks when these are moved. 2016-04-06 11:52:06 +02:00
codec [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
codec-haproxy [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
codec-http [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
codec-socks [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
common Explicit thread group on DefaultThreadFactory. 2016-04-06 21:19:18 +02:00
example [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
handler fcbeebf6df unit test bug 2016-04-06 00:12:54 -07:00
license Let PoolThreadCache work even if allocation and deallocation Thread are different 2015-05-27 14:35:22 +02:00
microbench [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
tarball [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
testsuite [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
testsuite-osgi [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
transport [#5028] Fix re-entrance issue with channelWritabilityChanged(...) and write(...) 2016-04-06 10:50:41 +02:00
transport-native-epoll [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
transport-rxtx [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
transport-sctp [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
transport-udt [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
.fbprefs Updated Find Bugs configuration 2009-03-04 10:33:09 +00:00
.gitignore Add JVM crash logs to .gitignore 2014-05-18 21:37:12 +09:00
.travis.yml Travis CI branch whitelisting 2013-03-11 09:55:43 +09:00
CONTRIBUTING.md Move the pull request guide to the developer guide 2014-03-12 13:18:14 +09:00
LICENSE.txt Relicensed to Apache License v2 2009-08-28 07:15:49 +00:00
NOTICE.txt Let PoolThreadCache work even if allocation and deallocation Thread are different 2015-05-27 14:35:22 +02:00
pom.xml Add Log4J2LoggerFactory and Log4J2Logger 2016-04-05 14:07:26 +02:00
README.md Updating Branches to look section to match the current branching structure of the project 2016-03-10 22:09:30 +01:00
run-example.sh Add logLevel property to enable different log levels for the examples. 2014-11-21 10:48:13 +09:00

Netty Project

Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.

How to build

For the detailed information about building and developing Netty, please visit the developer guide. This page only gives very basic information.

You require the following to build Netty:

Note that this is build-time requirement. JDK 5 (for 3.x) or 6 (for 4.0+) is enough to run your Netty-based application.

Branches to look

Development of all versions takes place in each branch whose name is identical to <majorVersion>.<minorVersion>. For example, the development of 3.9 and 4.0 resides in the branch '3.9' and the branch '4.0' respectively.