sema_relclockwait
extern int sema_relclockwait(sema_t *, clockid_t, const timespec_t *);
if ((error = sema_relclockwait((sema_t *)sem, clock, reltime)) != 0) {
return (sema_relclockwait(sp, CLOCK_REALTIME, reltime));