> On Apr 5, 2017, at 2:03 PM, Yann Ylavic <ylavic....@gmail.com> wrote: > > On Wed, Apr 5, 2017 at 7:45 PM, Jim Jagielski <j...@jagunet.com> wrote: >> In fact, that goes for all, really. All *.timedacquire() impl >> should return APR_TIMEUP for any timeout < 0. Instead we >> try to acquire which is against the whole ABI guarantee. > > I don't get it, why for a relative timeout, negative wouldn't mean > infinite (like with poll() or several system calls), zero mean > try-only, and positive a real timeout?
Well, the thing is that we have an "infinite" variant of all of them: the simple acquire... It seems to me the whole idea of timeouts is, well, to honor the timeout value, and a negative or 0 value means "it's past". Also recall that in most cases, a "timeout" value is unsigned, making these kinds of discussions moot. If people want a "just try" or "infinite" they should use the correct and respective actual functions and not overload and/or misuse timeouts... all IMHO and my 2c