On Tue, May 30, 2023 at 12:48:33AM +0800, Alan Huang wrote: > Hi, > > I’m reading 14.2.1.3 Half-NBS Queue, there is one sentence says: > > The enqueuer might have failed between lines 9 and 10 of the listing, so that the element in question is only partially enqueued. > > My question is: In what circumstances would the enqueuer fail between lines 9 and 10 ? The following circumstances would do it: o Someone kills the thread at that point. o The CPU that the thread is running on takes an interrupt, but there is an infinite-loop bug in the interrupt handler, so that the thread's execution is never resumed. o The CPU that the thread is running on fail-stops, again preventing that thread from resuming. (This is rare, but does occasionally happen, especially on old or thermally abused hardware.) So nothing normal, if that is what you are asking. ;-) Thanx, Paul