SEM_MAGIC
if ((sem != NULL) && (*sem != NULL) && ((*sem)->magic == SEM_MAGIC)) {
sem->magic = SEM_MAGIC;
semtmp->magic = SEM_MAGIC;