Hi,

there seems to be a difference in behavior between Process#destroy()
implementations on Windows and !Windows: on Windows TerminateProcess()
[1] is called, which gives the process no way to react or in any way
intercept the termination, while on Unix a simple SIGTERM is send which
the process can just decide to ignore. [2]

Is this intentional?

I do prefer the Windows behavior, mainly because I do create processes
once in a while that simply fail to terminate due to bugs in their
implementation, and having Process#destroy() as a last, and terminal,
resort is very helpful to work-around those issues.

Regards,
--
Andreas

[1]
http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/d87c1c06bbf9/src/windows/native/java/lang/ProcessImpl_md.c
[2]
http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/d87c1c06bbf9/src/solaris/native/java/lang/UNIXProcess_md.c


-- 
Never attribute to malice that which can be adequately explained by
stupidity.                                        -- Hanlon's Razor

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to