[platform] fixes for Linux restarter
authorRoman Shevchenko <roman.shevchenko@jetbrains.com>
Mon, 26 Sep 2016 14:02:22 +0000 (16:02 +0200)
committerRoman Shevchenko <roman.shevchenko@jetbrains.com>
Mon, 26 Sep 2016 14:02:43 +0000 (16:02 +0200)
- correct launcher script name
- correct parent process termination condition on systemd-based systems

bin/linux/restart.py
platform/platform-impl/src/com/intellij/util/Restarter.java

index 9055b030825932774ee3d46ceda848488fad9903..93bf229db65e632dd4dfb4b703816d8d1099b9f6 100755 (executable)
@@ -9,7 +9,8 @@ import time
 if len(sys.argv) < 2:
     raise Exception('At least one argument expected')
 
-while os.getppid() != 1:
+pid = os.getppid()
+while os.getppid() == pid:
     time.sleep(0.5)
 
 if len(sys.argv) > 2:
index 45908586785025c9c8e5acc776e41c96f0ad9209..7c932ba8f1bd16526170a57974860eeceeaeb518 100644 (file)
@@ -34,12 +34,14 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Locale;
 
 public class Restarter {
   private Restarter() { }
 
   private static File getLauncherScript() {
-    return new File(PathManager.getBinPath(), ApplicationNamesInfo.getInstance().getLowercaseProductName() + ".sh");
+    String name = ApplicationNamesInfo.getInstance().getProductName().toLowerCase(Locale.US);
+    return new File(PathManager.getBinPath(), name + ".sh");
   }
 
   public static boolean isSupported() {