Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFA/Ada] Implement Ada tasking support
Date: Tue, 23 Sep 2008 18:30:00 -0000	[thread overview]
Message-ID: <20080923182943.GA3729@adacore.com> (raw)
In-Reply-To: <uskrqohzd.fsf@gnu.org>

> > An Ada task carries with it a lot of semantic information thanks
> > to the Ada Task Control Block (the ATCB).
> 
> So it is a kind of thread on steroids?

You can say that. However:

> Can there ever be more or less than exactly one thread per Ada task?

An Ada task *usually* lives on a thread, but nothing prevents
the implementation to implement this differently. For instance,
we used the FSU threads for a while, and I think the scheduling
was done using signals, rather than using the system thread library.
So this is not something required by the language.

> We could extend the thread commands to display that additional info if
> available.

I am trying to find a way to mix the two that I wouldn't find really
confusing. Also, there isn't always a 1:1 correspondance between
an entry in the thread list and the entries in the Ada task list.
I think it's on Solaris (or is it GNU/Linux?) where you have multiple
entries in the thread list even though you really have one logical
thread (from the software point of view). I think this is because
the thread list shows everything that the system reports, LWPs, threads,
kernel threads sometimes, etc. Also, you might sometimes have Ada tasks
that appear in the task list as "Terminated" - it is possible that
the underlying thread no longer exist.  The Ada task list has this nice
property that it sits at the software-level, whereas the thread list
sits more at the system level.  That's why I was saying that the two
concepts (threads vs Ada tasks) serve different purposes.

> I'm trying to establish whether they are irreconcilable.  If they can
> live together, I'd suggest to merge them.

I think these are very interesting questions. In my opinion, they are,
for the various reasons explained above. But perhaps you have some
suggestions that might answer my concerns?

-- 
Joel


  reply	other threads:[~2008-09-23 18:30 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-22 23:33 Joel Brobecker
2008-09-23  3:20 ` Eli Zaretskii
2008-09-23 15:07   ` Joel Brobecker
2008-09-23 18:06     ` Eli Zaretskii
2008-09-23 18:30       ` Joel Brobecker [this message]
2008-09-23 19:17         ` Eli Zaretskii
2008-09-23 19:00     ` Tom Tromey
2008-09-23 18:24 ` Eli Zaretskii
2008-09-23 19:22 ` Tom Tromey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080923182943.GA3729@adacore.com \
    --to=brobecker@adacore.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox