7dac4fdd25
Motivation: Netty has a flag (io.netty.noUnsafe) for specifying to Netty to not be unsafe. Yet, when initializing PlatformDependent0, Netty still tries to be unsafe. For application that specify to Netty to not be unsafe and run under a security manager, this can lead to an obnoxious (debug level) stack trace. Since Netty was told not to be unsafe, Netty should not try to be unsafe. Modifications: The initialization logic in PlatformDependent0 should take into account that Netty was told not to be unsafe. This means that we need to initialize PlatformDependent#IS_EXPLICIT_NO_UNSAFE as soon as possible, before the static initializer for PlatformDependent0 has a chance to run. Thus the following modifications are made: - initialize PlatformDependent#IS_EXPLICIT_NO_UNSAFE before any other code in PlatformDependent causes PlatformDependent0 to initialize - expose the value of PlatformDependent#IS_EXPLICIT_NO_UNSAFE for reading in PlatformDependent0 - take the value of PlatformDependent#IS_EXPLICIT_NO_UNSAFE into account in PlatformDependent0 Result: Netty does not try to be unsafe when told not to be unsafe. |
||
---|---|---|
all | ||
buffer | ||
codec | ||
codec-dns | ||
codec-haproxy | ||
codec-http | ||
codec-http2 | ||
codec-memcache | ||
codec-mqtt | ||
codec-redis | ||
codec-smtp | ||
codec-socks | ||
codec-stomp | ||
codec-xml | ||
common | ||
example | ||
handler | ||
handler-proxy | ||
license | ||
microbench | ||
resolver | ||
resolver-dns | ||
tarball | ||
testsuite | ||
testsuite-osgi | ||
transport | ||
transport-native-epoll | ||
transport-rxtx | ||
transport-sctp | ||
transport-udt | ||
.fbprefs | ||
.gitignore | ||
.travis.yml | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
NOTICE.txt | ||
pom.xml | ||
README.md | ||
run-example.sh |
Netty Project
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
Links
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:
- Latest stable Oracle JDK 7
- Latest stable Apache Maven
- If you are on Linux, you need additional development packages installed on your system, because you'll build the native transport.
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.