sem_log
sem_log("sem_alloc %p (%d)\n", sem, value);
sem_log("sem_trywait %p %d\n", *sem, (*sem)->count);
sem_log("sem_trywait %p %d (success)\n", *sem, val - 1);
sem_log("sem_trywait %p %d (failure)\n", *sem, val);
sem_log("sem_wait %p %d (begin)\n", *sem, (*sem)->count);
sem_log("sem_wait %p %d (success)\n",
sem_log("sem_wait %p %d (wait)\n", *sem, val);
sem_log("sem_wait %p %d (wait return %d)\n",
sem_log("sem_wait %p %d (error %d)\n", *sem, retval);
sem_log("sem_timedwait %p %d (begin)\n", *sem, (*sem)->count);
sem_log("sem_wait %p %d (success)\n",
sem_log("sem_wait %p %d (bad abstime)\n", *sem, val);
sem_log("sem_wait %p %d (wait)\n", *sem, val);
sem_log("sem_wait %p %d (wait return %d)\n",
sem_log("sem_wait %p %d (error %d)\n", *sem, retval);
sem_log("sem_post %p %d\n", *sem, val);