This is a good idea. But should it go into a OS SRFI or a time SRFI? It
should probably be in the same SRFI as (posix-time) and (monotonic-time).
Being non-portable, I believe all three belong in SRFI 170. We are only removing processes for practical reasons. Nanosleep takes a timespec in Posix and that's what it should take.
I am putting together a timespec SRFI for everyone else to depend on: just constructor, accessors, and comparator.
IIRC EBUSY means to "try again later" because the device or network is
unavailable, or some resource quota is currently maxed out. So fixing it
is not a simple matter of just retrying the call immediately as with
EINTR. Probably we shouldn't have special handling for EBUSY, and should
just raise an exception as for other errno values.
John Cowan http://vrici.lojban.org/~cowan firstname.lastname@example.org
Nobody expects the RESTifarian Inquisition! Our chief weapon is
surprise ... surprise and tedium ... tedium and surprise ....
Our two weapons are tedium and surprise ... and ruthless disregard
for unpleasant facts.... Our three weapons are tedium, surprise, and
ruthless disregard ... and an almost fanatical devotion to Roy Fielding....