aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Anisimkov <anisimko@adacore.com>2019-07-08 08:14:50 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2019-07-08 08:14:50 +0000
commit3a4a60d1d2303f51ea0ed442aa38cc5a9a4201c5 (patch)
tree617c7e7316964ecb0b1d3979e5021c12f005c8a2
parent4fe5bbcf30a491a1722fa1752bc0ea9c32dcb2e3 (diff)
downloadgcc-3a4a60d1d2303f51ea0ed442aa38cc5a9a4201c5.zip
gcc-3a4a60d1d2303f51ea0ed442aa38cc5a9a4201c5.tar.gz
gcc-3a4a60d1d2303f51ea0ed442aa38cc5a9a4201c5.tar.bz2
[Ada] Os_Lib: do not call __gnat_kill for Invalid_Pid
2019-07-08 Dmitriy Anisimkov <anisimko@adacore.com> gcc/ada/ * libgnat/s-os_lib.adb: Do not call __gnat_kill for Invalid_Pid. From-SVN: r273223
-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;