Mike Hearn wrote:
One thing I don't understand is why
we put the request in two do...while(0) loops. Won't they just run once anyway?
It's a portability thing, basically just declaring a new scope, you can ignore it - do {} while (0) runs the body of the block once.
It's to make sure that code written with SERVER_START_REQ ends with SERVER_END_REQ, and that the block ends with a semi-colon.
Mike