SEM_MAGIC
if ((sem != NULL) && ((*sem)->magic == SEM_MAGIC))
sem->magic = SEM_MAGIC;
if (sem->_magic == SEM_MAGIC)
sem->_magic = SEM_MAGIC;
tmp._magic = SEM_MAGIC;
if (sem->_magic != SEM_MAGIC) {