Re: Thread support

From: Jeremy Carroll (
Date: Mon May 24 1999 - 09:04:34 BST

James Rouleau/CAM/Lotus wrote:
> Are there any plans for UPS to support threads for those platforms which
> have them?

I looked at this problem many years ago (about 6). I got alpha code
working for Isis threads on HP-UX. (No you've never heard of them!). I
think I was working on top of a bastardised UPS 2.45.

I think there were a small number of fundamental issues:

A: an abstract API into the threads system. [To support a new threads
system or a new platform this is what would need re-implementing]. This
is the most important piece of hindsight.

B: do you wish to leave other threads running while debugging a
particular thread, and how to do this in your particular thread package.
[This was a must for the particular program I wanted to debug.
Everything collapsed in a heap if certain critical threads did not
progress in real-time]. This is an advanced feature, too advanced for a
first cut, but the API [A] needs to be extensible to cover what's needed

C: thread-specific breakpoints. [Again not necessary in a first cut, but
the GUI design could consider this issue. A way, would be too provide a
function in the c-interpteter that gave you the thread ID in an UPS
meaningful way.]

D: I had to link the program to be debugged with another c file that
defined some of the functions needed by the thread debugging API [A].
This was clunky.

I am not sure what features thread-aware debuggers give. I've only used
a Java one, which doesn't have either B or C.

If anyone wants to look at my source, let me know by e-mail, and I'll
dig it out. But do remember the bits are old and tired, and were never

Jeremy Carroll

Disclaimer: a private communication of Jeremy Carroll, not an official
communication of Hewlett-Packard.

This archive was generated by hypermail 2.1.4 : Wed Feb 13 2002 - 21:51:32 GMT