On Mon, Sep 25, 2017 at 05:06:58PM -0700, Stefan Beller wrote: > >> If you are okay with the too-long/too-short confusion in EOVERFLOW, then > >> there is EMSGSIZE: > >> > >> Message too long > > > > I don't really like that one either. > > > > I actually prefer "0" of the all of the options discussed. At least it > > is immediately clear that it is not a syscall error. > > > > -Peff > > After reading this discussion from the sideline, maybe > > ENODATA No message is available on the STREAM head read > queue (POSIX.1) > > is not too bad after all. Or > > ESPIPE Invalid seek (POSIX.1) > > Technically we do not seek, but one could imagine we'd seek there > to read? ENODATA is not too bad. On my glibc system it yields "No data available" from strerror(), which is at least comprehensible. We're still left with the question of whether it is defined everywhere (and what to fallback to when it isn't). -Peff