From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: 4 beginner's questions on the PL Ada
Date: Mon, 12 Aug 2013 14:47:11 -0500
Date: 2013-08-12T14:47:11-05:00 [thread overview]
Message-ID: <kube40$k5k$1@loke.gir.dk> (raw)
In-Reply-To: ku3opa$svn$3@dont-email.me
"Jeffrey Carter" <spam.jrcarter.not@spam.not.acm.org> wrote in message
news:ku3opa$svn$3@dont-email.me...
> On 08/09/2013 02:38 PM, Emanuel Berg wrote:
>>
>> Yes! This works great:
>>
>> with Ada.Task_Identification;
>> use Ada.Task_Identification;
>>
>> Task_Name : constant String := Image(Current_Task);
>>
>> It produces output like
>>
>> add_one_081838Dt
>>
>> if the task is referred to as Add_One in the code.
>
> Not necessarily. First, this is only available in compilers that choose to
> implement the optional Annex C, Systems Programming, so this is
> non-portable.
That's formally true, but practically, I don't know of any Ada compilers
that don't implement Ada.Task_Identification. An Ada compiler vendor needs
something like it for debugging tasking programs, and it would be silly to
create something different for that job.
> Second, the contents of the string returned by Image are implementation
> defined. One particular compiler uses the task name as part of the
> returned value, but others might not, so adding another layer of
> non-portability.
Right. Janus/Ada uses "@nnnn", where "nnnn" is a task number (they're all
assigned integers by our task supervisor). The task supervisor doesn't know
anything about the names used in the program (its much lower level than
that).
But the *real* problem is having a unique identification for each task
without having to worry about the task type. There might an additional level
of work to figure out which task object is associated with which identifier
string, but that's easily handled by printing out the id for each task when
it starts.
Randy.
next prev parent reply other threads:[~2013-08-12 19:47 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-09 16:50 4 beginner's questions on the PL Ada Emanuel Berg
2013-08-09 17:09 ` Adam Beneschan
2013-08-09 17:16 ` Emanuel Berg
2013-08-09 17:46 ` Alan Jump
2013-08-09 18:10 ` Emanuel Berg
2013-08-09 19:01 ` Randy Brukardt
2013-08-09 21:38 ` Emanuel Berg
2013-08-09 22:00 ` Jeffrey Carter
2013-08-09 22:16 ` Emanuel Berg
2013-08-10 0:39 ` Anh Vo
2013-08-10 1:24 ` Emanuel Berg
2013-08-10 6:16 ` Simon Wright
2013-08-10 12:13 ` Emanuel Berg
2013-08-10 17:12 ` Mike H
2013-08-10 17:53 ` Emanuel Berg
2013-08-10 19:50 ` Dennis Lee Bieber
2013-08-10 22:23 ` Emanuel Berg
2013-08-11 7:12 ` Georg Bauhaus
2013-08-11 12:44 ` Emanuel Berg
2013-08-11 21:12 ` Bill Findlay
2013-08-11 21:22 ` Emanuel Berg
2013-08-12 17:39 ` Anh Vo
2013-08-12 18:15 ` Anh Vo
2013-08-12 19:57 ` Simon Wright
2013-08-12 20:13 ` Anh Vo
2013-08-10 0:52 ` Jeffrey Carter
2013-08-12 19:47 ` Randy Brukardt [this message]
2013-08-09 22:08 ` Robert A Duff
2013-08-09 22:23 ` Emanuel Berg
2013-08-09 22:36 ` Robert A Duff
2013-08-09 22:42 ` Emanuel Berg
2013-08-09 23:48 ` Robert A Duff
2013-08-09 23:50 ` Emanuel Berg
2013-08-09 23:56 ` Emanuel Berg
2013-08-10 0:44 ` Jeffrey Carter
2013-08-10 0:51 ` Robert A Duff
2013-08-09 22:47 ` Alan Jump
2013-08-09 23:33 ` Adam Beneschan
2013-08-09 23:43 ` Alan Jump
2013-08-10 0:19 ` Robert A Duff
2013-08-10 0:52 ` Jeffrey Carter
2013-08-10 0:48 ` Robert A Duff
2013-08-09 23:40 ` Robert A Duff
2013-08-09 23:25 ` Dennis Lee Bieber
2013-08-09 18:29 ` Jeffrey Carter
2013-08-09 18:51 ` Adam Beneschan
2013-08-09 19:05 ` Jeffrey Carter
2013-08-09 18:35 ` Simon Wright
2013-08-09 23:21 ` Dennis Lee Bieber
2013-08-09 23:48 ` Emanuel Berg
2013-08-10 2:45 ` Dennis Lee Bieber
2013-08-10 3:33 ` Emanuel Berg
2013-08-10 14:57 ` Shark8
2013-08-10 17:43 ` Emanuel Berg
2013-08-10 17:55 ` Emanuel Berg
2013-08-10 23:15 ` Simon Clubley
2013-08-11 12:16 ` Emanuel Berg
2013-08-12 18:07 ` Adam Beneschan
2013-08-11 0:34 ` Shark8
2013-08-11 12:42 ` Emanuel Berg
2013-08-11 13:24 ` Peter C. Chapin
2013-08-11 13:37 ` Emanuel Berg
2013-08-11 15:15 ` Mike H
2013-08-12 17:56 ` Adam Beneschan
2013-08-10 6:03 ` Jeffrey Carter
2013-08-12 17:17 ` Eryndlia Mavourneen
2013-08-12 17:27 ` Jeffrey Carter
2013-08-10 12:31 ` Emanuel Berg
2013-08-10 12:37 ` Emanuel Berg
2013-08-10 12:52 ` Emanuel Berg
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox