libuv/include
Ben Noordhuis f43ad85edd include: fix ngx_queue_foreach() macro
Guard against the possibility that the queue is emptied while we're iterating
over it. Simple test case:

  #include "ngx-queue.h"
  #include <assert.h>

  int main(void) {
    ngx_queue_t h;
    ngx_queue_t v[2];
    ngx_queue_t* q;
    unsigned n = 0;
    ngx_queue_init(&h);
    ngx_queue_insert_tail(&h, v + 0);
    ngx_queue_insert_tail(&h, v + 1);
    ngx_queue_foreach(q, &h) {
      ngx_queue_remove(v + 0);
      ngx_queue_remove(v + 1);
      n++;
    }
    assert(n == 1); // *not* 2
    return 0;
  }

Fixes #605.
2012-10-25 04:36:51 +02:00
..
uv-private include: fix ngx_queue_foreach() macro 2012-10-25 04:36:51 +02:00
ares_version.h c-ares: upgrade to 1.7.5 2011-09-27 16:04:25 -07:00
ares.h c-ares: upgrade to 1.7.5 2011-09-27 16:04:25 -07:00
uv.h unix: map errno ESPIPE 2012-08-23 00:32:56 +02:00