Boost logo

Boost :

From: Gary Powell (Gary.Powell_at_[hidden])
Date: 2000-08-04 17:11:27

Ok, lets talk about the problem to be solved.

I need a portable layer to use threads with. I don't expect an OS with no
thread support to be supported by this layer.

If its possible to deadlock the thread, I need to know under what conditions
this will occur and a generally accepted practice on how to avoid it. i.e.
set a timer, and if it times out before I get my resource, I get control
back and can do something different.

  I'm sorry, having the thread destroyed by some other process that detects
the deadlock isn't going to work for me. Sorry Mr. Powell, your heart
monitor stopped working because the software deadlocked and the machine
killed the process. "This is your captain speaking, We've just had to reboot
the flight control system as it deadlocked. So please crawl along the
ceiling of the cabin back to your seats and we'll have everything back under
control in another minute or two."

My next suggestion though is to forget about support for any legacy programs
written during this development stage. The first cuts at this should be free
to try what seems best, and if it ends up in some rat hole, to abandon it.

Obviously this isn't an easy task. I'm sure that the designers of Threads++,
JAVA, ACE etc didn't set out to do a substandard job of it.

My last suggestion is that those interested parties, make a stab at it and
occasionally post back to this group the progress or ask questions when the
path isn't clear. It seems that most of the posts so far are "Who is going
to do the work?" and "Who made you the Jell-O sheriff?" Not very productive.
I'm not saying go write code, but how about some pseudo code?

As for my doing the work, I don't have any experience other than bad using
other thread packages. They all deadlocked, became undebuggable morasses,
and the programmers who worked on them have all lost their jobs. No thanks.
I'm now down to 2 threads, one to handle the sound, i.e. keep the buffer
full and, one for the rest of the program.

My 0.01 (Less than 2cents worth.)

Boost list run by bdawes at, gregod at, cpdaniel at, john at