From a1a8b1726cf8de2ed244353a9c8cd2fab12e4c71 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 11 Jul 2019 08:01:25 +0000 Subject: [PATCH] [Ada] GNAT.Threads: Add a Get_Thread overload taking a Task_Id 2019-07-11 Arnaud Charlet gcc/ada/ * libgnarl/g-thread.ads, libgnarl/g-thread.adb (Get_Thread): Update comments. Add new version taking a Task_Id. From-SVN: r273380 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/libgnarl/g-thread.adb | 9 +++++++-- gcc/ada/libgnarl/g-thread.ads | 4 +++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index fa580d293f0..703280c2d01 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2019-07-11 Arnaud Charlet + + * libgnarl/g-thread.ads, libgnarl/g-thread.adb (Get_Thread): + Update comments. Add new version taking a Task_Id. + 2019-07-11 Hristian Kirtchev * bindo.adb: Update the section of switches and debugging diff --git a/gcc/ada/libgnarl/g-thread.adb b/gcc/ada/libgnarl/g-thread.adb index f4ce92e1cd8..ae619371cbc 100644 --- a/gcc/ada/libgnarl/g-thread.adb +++ b/gcc/ada/libgnarl/g-thread.adb @@ -168,9 +168,14 @@ package body GNAT.Threads is ---------------- procedure Get_Thread (Id : Address; Thread : Address) is - Thr : constant Thread_Id_Ptr := To_Thread (Thread); begin - Thr.all := Task_Primitives.Operations.Get_Thread_Id (To_Id (Id)); + To_Thread (Thread).all := + Task_Primitives.Operations.Get_Thread_Id (To_Id (Id)); + end Get_Thread; + + procedure Get_Thread (Id : Task_Id; Thread : Address) is + begin + Get_Thread (To_Addr (Id), Thread); end Get_Thread; ---------------------- diff --git a/gcc/ada/libgnarl/g-thread.ads b/gcc/ada/libgnarl/g-thread.ads index ad4a0757153..8792e9add59 100644 --- a/gcc/ada/libgnarl/g-thread.ads +++ b/gcc/ada/libgnarl/g-thread.ads @@ -129,9 +129,11 @@ package GNAT.Threads is procedure Get_Thread (Id : System.Address; Thread : System.Address); pragma Export (C, Get_Thread, "__gnat_get_thread"); + procedure Get_Thread + (Id : Ada.Task_Identification.Task_Id; Thread : System.Address); -- This procedure is used to retrieve the thread id of a given task. -- The value Id is the value that was passed to the thread code procedure - -- at activation time. + -- at activation time or a Task_Id. -- Thread is a pointer to a thread id that will be updated by this -- procedure. -- -- 2.30.2