still possible for multiple threads to write into the same space, but they shouldn't be able to corrupt the write pointer in the process. Also, check for pointer-lapping a bit more carefully in the wrap vs. non-wrap case.