timedwait
if (timedwait(id, 5000, &elapsed, 0) < 0) {
if (timedwait(id, 2500, &elapsed, ETIMEDOUT) < 0) {
if (timedwait(id, 2000, &elapsed, 0) < 0) {