tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: in which we present an ugly hack to make sys/queue.h CIRCLEQ work



> } I would be interested in knowing an actual example of the comparison
> } problem with the CIRCLEQ macro, if the concern isn't theoretical.  Since
> 
>      Uh, do you really think people would be doing all this work
> for something that was theoretical?  The problem is that gcc 4.8
> optimises out the comparison as being always false due to the
> anti-alias rule.

correct.  CIRCLEQ was broken with GCC 4.8.  TAILQ appears fine.

the observations were that nvi(1) would hang while blocking
signals (ie, you had to kill -9 from another window), and
i used tests/lib/libc/db/ to eventually locate the problem.

in these cases, the *INSERT*() macros were never inserting for
the head of the queue, which would cause the iteration macros
to loop forever.


.mrg.


Home | Main Index | Thread Index | Old Index