Thanks to everyone for the response to this, your insight will definately save me time, and I'll end up with something better than I would have on my own.
I read up on the PLO instruction and got a headache, same type I get when I read how DAT translation works :) I will probably stick with CDS or CS. I have a few more questions, you will not be suprised to know. Regarding using CDS VS CS "don't fall into the trap of trying to do it with a Compare Single and Swap (CS). Take the POpS advice and use Compare Double and Swap (CDS). The flaw of using CS will occur and you will end up changing to CDS in time. This I promise." Do you mean use CDS because there is an address and a count? I don't see why I need a count, If I set the forward of the 1st element pushed on the queue to 0 to signify the end of the queue? Using WAIT/POST. Apologies for the simplicity of this question, but I don't get an aspect of it. If a subtask has a wait ECB, I'd like to use 2 completion codes, 1 to indicate new work, and 1 to indicate termination. Suppose when the mother decides to terminate, the subtask is not waiting at that time. The manual says "If an ECB is reused, bits 0 and 1 must be set to zero before a WAIT, EVENTS ECB= or POST macro can be specified." I have read somewhere about prepost, but I don't understand when the ECB can be cleared safely without the possibilty of 'missing' a prepost as there is no interlock between the clearing of the ECB and the setting of the POST bit. I could use 2 separate ECBs for the work wait and the termination wait, but I'd like to understand if this is a necessary approach. Thanks, Joe
