Please review the change that fixes jcmd process name matching on Linux
platform.
After changes [3] , on Linux platform the proc filesystem is used to find a
Java process, however, sun.tools.ProcessHelper class,
introduced in that change, didn't take into account the presence of module
whitespace options ( e.g. --patch-module) or the
fact that some values of Java options could contain whitespaces.
The latter problem is fixed by keeping '\0' as a separator for command line
arguments read from /proc/{pid}/cmdline rather than
replacing it with a whitespace. The former problem is fixed by making
sun.tools.ProcessHelper aware of these module whitespace
options (--add-opens, --add-exports,--add-reads, --add-modules,
--patch-module,--limit-modules, or --upgrade-module-path) as well
as of the case when a source-file mode is used or when --module options is
used in "--<name>=<value>" format.
Testing: sun/tools/jcmd and serviceability/dcmd/framework tests succeeded in
Mach5. jdk_svc, tier1, tier2, and tier3 tests are in progress.
[1] Webrev: http://cr.openjdk.java.net/~dtitov/8225543/webrev.01/
[2] Bug: https://bugs.openjdk.java.net/browse/JDK-8225543
[3] https://bugs.openjdk.java.net/browse/JDK-8205654
Thanks!
--Daniil