> but i have a feeling that there is a mistake in your > modification to qlock. you didn't have this panic > before you modified qlock.
qlock() is broken, or at the very least ambivalent. Someone ought to put it out of its misery: is it legal or is it not to call qlock() in a up == 0 context? ++L