From: John Cowan <xxxxxx@ccil.org>
Date: Sunday, August 11, 2019 11:11 PM

On Sun, Aug 11, 2019 at 11:28 AM Lassi Kortela <xxxxxx@lassi.io> wrote:

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.

Perhaps a vote for adding it??

I am putting together a timespec SRFI for everyone else to depend on: just constructor, accessors, and comparator.

On the other hand, nanosleep takes an interval, in addition to an absolute timespec relating to signal handling.  Which is in the future, requiring support of addition as well as intervals.  This very limited timespec SRFI sounds ... very limited.

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.

+1

What about EAGAIN?

- Harold