aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog4
-rw-r--r--gcc/ada/libgnat/s-os_lib.adb10
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index d38dce0..672ac82 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,7 @@
+2019-07-08 Dmitriy Anisimkov <anisimko@adacore.com>
+
+ * libgnat/s-os_lib.adb: Do not call __gnat_kill for Invalid_Pid.
+
2019-07-08 Piotr Trojanek <trojanek@adacore.com>
* sem_util.adb (Enclosing_Package_Or_Subprogram): Do not expect
diff --git a/gcc/ada/libgnat/s-os_lib.adb b/gcc/ada/libgnat/s-os_lib.adb
index 7efddf7..c3c1979 100644
--- a/gcc/ada/libgnat/s-os_lib.adb
+++ b/gcc/ada/libgnat/s-os_lib.adb
@@ -1629,10 +1629,12 @@ package body System.OS_Lib is
pragma Import (C, C_Kill, "__gnat_kill");
begin
- if Hard_Kill then
- C_Kill (Pid, SIGKILL, 1);
- else
- C_Kill (Pid, SIGINT, 1);
+ if Pid /= Invalid_Pid then
+ if Hard_Kill then
+ C_Kill (Pid, SIGKILL, 1);
+ else
+ C_Kill (Pid, SIGINT, 1);
+ end if;
end if;
end Kill;