timedwait
int timedwait(sem_t *, u_int, u_int *, int);
if (timedwait(&id, 2500, &elapsed, ETIMEDOUT) < 0) {
if (timedwait(id, 2000, &elapsed, 0) < 0) {
if (timedwait(&id, 5000, &elapsed, 0) < 0) {