1) We are relying on OS services for all threading constructs
We are not going to count on 'atomic' operations, low-level assembly processor guarantees, and we are definitely *not* rolling our own threading constructs of any sort. They break far too often in the face of SMP, new processors having different ordering of writes, and odd hardware issues.
Yes, I know there's a "But..." for each of these. Please don't, I'll just have to get cranky. We shall use the system thread primitives and functions.
2) The only thread constructs we are going to count on are:
*) Abstract, non-recursive, simple locks
*) Rendezvous points (Things threads go to sleep on until another thread pings the condition)
*) Semaphores (in the "I do a V and P operation, with a count")
We are *not* counting on being able to kill or freeze a thread from any other thread. Nor are we counting on recursive locks, read/write locks, nor any other things. Unfortunately.
3) I'm still not paying much attention. -- Dan
--------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk