void (ShieldSuspend)(Arena arena) { AVERT(Arena, arena); AVER(arena->insideShield); if (!arena->suspended) { ThreadRingSuspend(ArenaThreadRing(arena)); arena->suspended = TRUE; } }
static void shieldSuspend(Arena arena) { Shield shield; AVERT(Arena, arena); shield = ArenaShield(arena); AVER(shield->inside); if (!shield->suspended) { ThreadRingSuspend(ArenaThreadRing(arena), ArenaDeadRing(arena)); shield->suspended = TRUE; } }