libuv/include/uv-private
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
..
eio.h unix: create separate eio result queue per loop 2011-12-20 20:47:33 +01:00
ev.h unix: fix event loop stall 2012-06-06 05:12:28 +02:00
ngx-queue.h include: fix ngx_queue_foreach() macro 2012-10-25 04:36:51 +02:00
tree.h Rename __unused to UV__UNUSED. 2012-04-03 17:41:50 +02:00
uv-unix.h linux: fix 'two watchers, one path' segfault 2012-07-28 16:31:47 +02:00
uv-win.h include: move ssize_t workaround to uv-win.h 2012-07-31 00:05:03 +02:00