sema_held
#define SEMA_HELD(x) (sema_held((x)))
extern int sema_held(ksema_t *);
while (sema_held(&cpi->cp_sem))
#define SEMA_HELD(x) (sema_held((x)))
extern int sema_held(ksema_t *);