should be decided on; it is kind of a toss-up to me personally. One method is slightly more complicated but the other uses a spin lock. See once.c for details.