On Mon, 20 Sep 2004, Cliff Woolley wrote: > (ie, you're inserting it onto brigade b before removing it from brigade a).
PS: I should mention that in this case, it's brigade a that will be corrupt, not brigade b, since the inserted bucket's prev and next pointers will simply be overwritten. Brigade b will thus remain self-consistent. Brigade a, however, will still have pointers to the now-moved bucket, so as you traverse brigade a, you'll end up jumping over onto brigade b at some point and never get back to brigade a. Badness ensues at that point, the usual symptom of which is that you're traversing brigade a and you end up somehow seeing brigade b's sentinel as if it were somehow yet another bucket on brigade a. You try to deref the bucket pointers for brigade b's sentinel (which don't exist) and you go boom. Hope this helps. --Cliff
