pike.git / src / block_alloc.h

version» Context lines:

pike.git/src/block_alloc.h:100:      #define WALK_NONFREE_BLOCKS(DATA, BLOCK, FCOND, CODE) do { \    struct PIKE_CONCAT(DATA,_block) * p, * np; \    p = PIKE_CONCAT(DATA,_blocks); \    while (p) { \    int n = p->used; \    int i; \    np = p->next; \    for (i = 0; n && i < (sizeof(p->x)/sizeof(struct DATA)); i++) { \    BLOCK = &p->x[i]; \ +  PIKE_MEM_RW(*BLOCK); \    if (FCOND) { \    do CODE while(0); \    --n; \ -  +  } else { \ +  PIKE_MEM_NA(*BLOCK); \    } \    } \    p = np; \    } \   } while(0)      #define BLOCK_ALLOC(DATA,BSIZE) \    \   struct PIKE_CONCAT(DATA,_block) \   { \