8194734 : Handle to jimage file inherited into child processes (win)

Alan Bateman Alan.Bateman at oracle.com
Sun Apr 8 16:26:34 UTC 2018


On 06/04/2018 22:01, Martin Buchholz wrote:
> History:
> The design on Unix was that all file descriptors greater than 3 are 
> closed on fork and before exec.
> But regardless of that, we should try to set the CLOEXEC bit on all 
> our file descriptor (who knows, there might be native code that does 
> fork+exec).
> File descriptor 3 is indeed deep magic, used for error reporting.  
> It's a serious bug if FAIL_FILENO ends up being used for something 
> other than the error reporting pipe.
> I don't think I'm the last (or the first!) person who touched this.
STDERR_FILENO is 2 so I'm curious which error reporting pipe is bring 
discussed here. The jimage file is opened very early when initializing 
the VM so it will get a low file descriptor number, seems to be 3. The 
only surprise is that it doesn't close as it shouldn't need the file 
descriptor after it mmapped.

-Alan


More information about the core-libs-dev mailing list