And I agree.  The idiom remains possible, it just doesn't need to me
mentioned / encouraged.

Ingo Schwarze <schwa...@usta.de> wrote:
> Hi Scott,
> 
> Scott Cheloha wrote on Fri, Aug 17, 2018 at 10:20:09AM -0500:
> 
> > I don't think we should encourage or even mention the possibility of the
> > use of poll(2) to effect millisecond timeouts.  Even if the standard
> > library lacks such an interface.
> > 
> > I'm pretty sure you can't use this hack portably, either.
> > 
> > But mostly I just think it's a misuse of the interface and potentially
> > confusing to a reader of such code:
> 
> Nowadays, POSIX has nanosleep(2).  Before that, XPG had the now
> obsolete usleep(3) that appeared in 4.3BSD, but which never made
> it into POSIX.  Before nanosleep(2) became firmly established, using
> select(2) for portably sleeping less than a second was common IIRC.
> So the reason for the recommendation may be that poll(2) intends
> to replace select(2).
> 
> I agree that recommending poll(2) for the functionality of nanosleep(2)
> no longer makes sense.
> 
> Note that your diff also removes the information about what happens
> when fds == NULL.  If i read it correctly, POSIX does not specify
> that, so you may be right that there might be some system out there
> where it doesn't work.
> 
> Leaving behaviour that is unspecified by the standard unspecified
> in the manual page is often a good idea, unless we specifically
> want to support it as an extension.  Guaranteeing such an extension
> does not seem useful to me in the present case.
> 
> So, your diff is OK schwarze@, but i think you need another OK from
> a developer who is more familiar with networking or low-level I/O.
> 
> Yours,
>   Ingo
> 
> 
> > Index: lib/libc/sys/poll.2
> > ===================================================================
> > RCS file: /cvs/src/lib/libc/sys/poll.2,v
> > retrieving revision 1.35
> > diff -u -p -r1.35 poll.2
> > --- lib/libc/sys/poll.2     14 Feb 2017 17:51:14 -0000      1.35
> > +++ lib/libc/sys/poll.2     17 Aug 2018 14:55:48 -0000
> > @@ -183,12 +183,6 @@ and
> >  flags may be used to detect when out-of-band socket data may be read
> >  without blocking.
> >  .Pp
> > -In addition to I/O multiplexing,
> > -.Fn poll
> > -can be used to generate simple timeouts.
> > -This functionality may be achieved by passing a null pointer for
> > -.Fa fds .
> > -.Pp
> >  The
> >  .Fn ppoll
> >  function is similar to
> 

Reply via email to