From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8933 invoked by alias); 23 Sep 2008 15:07:58 -0000 Received: (qmail 8720 invoked by uid 22791); 23 Sep 2008 15:07:57 -0000 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 23 Sep 2008 15:07:22 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id AAAD42A9649; Tue, 23 Sep 2008 11:07:20 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id kDdC0eje8OS1; Tue, 23 Sep 2008 11:07:20 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 281E82A9651; Tue, 23 Sep 2008 11:07:20 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id 95412E7ACD; Tue, 23 Sep 2008 08:07:17 -0700 (PDT) Date: Tue, 23 Sep 2008 15:07:00 -0000 From: Joel Brobecker To: Eli Zaretskii Cc: gdb-patches@sourceware.org Subject: Re: [RFA/Ada] Implement Ada tasking support Message-ID: <20080923150717.GF23372@adacore.com> References: <20080922233209.GE24389@adacore.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.2i Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-09/txt/msg00476.txt.bz2 Hi Eli, > What is the differences, if any, between threads Ada tasks? An Ada task carries with it a lot of semantic information thanks to the Ada Task Control Block (the ATCB). The ATCB contains exactly one entry per task created, and we can determine from this entry some information such as the task name, the task state (is is running, stuck on a rendez-vous, waiting for a rendez-vous, terminated, etc), or who is the parent, etc. We can also use the debugging information to extract more information such as the list of entries for instance (these are routines in the task that you can call to perform a rendez-vous). But we haven't tried to take advantage of that, at least not yet. > Would it make sense to make the existing threads commands to refer to > Ada tasks, instead of introducing a whole new bunch of commands? I don't think so, because I think that Ada tasks and threads are quite different, and the information displayed for these tasks has some language-specific parts to it (task state, for instance). On the other hand, I see the "thread" support as a layer that provides information that is language-neutral, but closer to the underlying system. Both group of commands serve, IMO, a slightly different purpose. > Finally, if we do decide to have these new task commands, are there > any other languages which could, at least in principle, benefit from > the same feature for similar reasons, or is Ada the only one? I'm not sure - I don't know the other languages all that well. -- Joel