Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2178268 | 6-pool | Vikram Aroskar | P3 | Closed | Won't Fix |
Currently, on Windows, Runtime.exec is implemented by calling
CreateProcess with the bInheritHandles argument set to TRUE,
which causes open handles to not be closed if they are not
explicitly set to be non-inherited. This is the underlying cause
of many subtle bugs, such as
6347873: (so) Ports opened with ServerSocketChannel blocks when using Runtime.exec
http://monaco.sfbay/detail.jsf?cr=6347873
On Unix, we try hard to close all handles (except for standard handles, of course).
Why not also on Windows?
CreateProcess with the bInheritHandles argument set to TRUE,
which causes open handles to not be closed if they are not
explicitly set to be non-inherited. This is the underlying cause
of many subtle bugs, such as
6347873: (so) Ports opened with ServerSocketChannel blocks when using Runtime.exec
http://monaco.sfbay/detail.jsf?cr=6347873
On Unix, we try hard to close all handles (except for standard handles, of course).
Why not also on Windows?
- backported by
-
JDK-2178268 (process) Call CreateProcess with bInheritHandles=FALSE ?
-
- Closed
-
- relates to
-
JDK-6347873 (so) Ports opened with ServerSocketChannel blocks when using Runtime.exec
-
- Resolved
-
-
JDK-6481278 (process) Runtime should provide a real spawning capability
-
- Closed
-