我正在阅读sem_timedwait()上的手册,无法理解这个示例。我目前的理解是:
所以我理解if-语句,但是我不理解while循环。因此,当sem_timedwait()返回一个错误(?)当它被一个sem_post()呼叫发出信号的时候?(我显然不明白"EINTR The call was int
问题是,当我从用atexit注册的退出处理程序调用sem_post时,sem_wait不会立即减少信号量,因此退出处理程序中的sem_wait将立即退出,因为信号量大于零。\n");}
sem_post(&sem); // wake up main thread
sem_wait(&sem);// wait for cleanu