-
Bug
-
Resolution: Won't Fix
-
P3
-
mvm-hs16, preview, 7
-
generic
-
generic
NIO doesn't use finalizers but instead requires that the close method be invoked explicitly (all types with native resources implement java.io.Closeable). In addition, some of the types have operations that result in a thread being blocked in native code (usually a system call). Selector.select for example, or any SelectableChannel channels configured in blocking mode. There are also objects that have internal daemon threads - for example WatchService and AsynchronousChannelGroup. All these types are asynchronously closeable so invoking close will cause any blocked threads (including internal threads) to wakeup and free all native resources.
This bug tracks adding support in MVM so that it invokes the close method of each of the NIO Closeable types so as to free resources and unblock any threads.
This bug tracks adding support in MVM so that it invokes the close method of each of the NIO Closeable types so as to free resources and unblock any threads.