Subj : Re: atomic operations api added to AppCore... To : comp.programming.threads From : Ronald Landheer-Cieslak Date : Thu Feb 24 2005 12:47 pm awaken wrote: > Can you give me email? I'm not sure is it right place to ask. > Page 5, StabilizeRight procedure: > There are some undefined variables (marked with bold font) > <- prev.^Right; > .... > if!CAS(&prev.^Right,,) return > > where this "t" came from and what does it mean? > there is also no definition for prevnext variable, I guess is's something > like this->prev->next (in terms of C++) For memory management, he uses an ABA tag and hazard pointers, AFAICT, you only need either one of the two. The first time he uses t, on line 6 of the algo of StabilizeRight, I think it's a type-o, as there would be no reason for Anchor to contain anything but the status on the third field, which is s, not t. On line 7, t gets assigned whatever was in the integer field of the right-hand node, which is basically an anti-ABA tag. Again, if you use hazard pointers, you don't need that. My current version uses hazard pointers - so I don't use the ABA tag as hazard pointers are immune to ABA. If you're using hazard pointers, you won't need them either.. HTH rlc .