You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by pp...@apache.org on 2022/03/22 22:34:49 UTC
[maven-mvnd] 02/02: Only check `/proc/self` if apparently on Linux (always fall back to VM name)
This is an automated email from the ASF dual-hosted git repository.
ppalaga pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-mvnd.git
commit 2ab4cd80831e9de88d4ef752787aecdc4d2b815f
Author: Jesse Glick <jg...@apache.org>
AuthorDate: Tue Mar 22 14:41:11 2022 -0400
Only check `/proc/self` if apparently on Linux (always fall back to VM name)
---
.../org/mvndaemon/mvnd/common/DaemonRegistry.java | 30 ++++++++++++----------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/common/src/main/java/org/mvndaemon/mvnd/common/DaemonRegistry.java b/common/src/main/java/org/mvndaemon/mvnd/common/DaemonRegistry.java
index 7fcf21c..5d3d7a8 100644
--- a/common/src/main/java/org/mvndaemon/mvnd/common/DaemonRegistry.java
+++ b/common/src/main/java/org/mvndaemon/mvnd/common/DaemonRegistry.java
@@ -271,23 +271,25 @@ public class DaemonRegistry implements AutoCloseable {
private static final int PROCESS_ID = getProcessId0();
private static int getProcessId0() {
- try {
- final Path self = Paths.get("/proc/self");
- if (Files.exists(self)) {
- String pid = self.toRealPath().getFileName().toString();
- if (pid.equals("self")) {
- LOGGER.debug("/proc/self symlink could not be followed");
- } else {
- LOGGER.debug("loading own PID from /proc/self link: {}", pid);
- try {
- return Integer.parseInt(pid);
- } catch (NumberFormatException x) {
- LOGGER.warn("Unable to determine PID from malformed /proc/self link `" + pid + "`");
+ if (Os.current() == Os.LINUX) {
+ try {
+ final Path self = Paths.get("/proc/self");
+ if (Files.exists(self)) {
+ String pid = self.toRealPath().getFileName().toString();
+ if (pid.equals("self")) {
+ LOGGER.debug("/proc/self symlink could not be followed");
+ } else {
+ LOGGER.debug("loading own PID from /proc/self link: {}", pid);
+ try {
+ return Integer.parseInt(pid);
+ } catch (NumberFormatException x) {
+ LOGGER.warn("Unable to determine PID from malformed /proc/self link `" + pid + "`");
+ }
}
}
+ } catch (IOException ignored) {
+ LOGGER.debug("could not load /proc/self", ignored);
}
- } catch (IOException ignored) {
- LOGGER.debug("could not load /proc/self", ignored);
}
String vmname = ManagementFactory.getRuntimeMXBean().getName();
String pid = vmname.split("@", 0)[0];