adopted from MACH 2.5 h/queue.h