Forgot to ask you to create a JIRA for tracability sake, if you don't mind.

Thanks !

Steve Crane wrote:
Hi there,

DefaultIoFuture.awaitUninterrruptibly() calls await0(Log.MAX_VALUE,
false) which does:

        long endTime = System.currentTimeMillis() + timeoutMillis;

i.e., long endTime = System.currentTimeMillis() + Long.MAX_VALUE;

This comes out <0 which leads to:

            if (ready) {
                return ready;
            } else if (timeoutMillis <= 0) {
                return ready;
            }

Doesn't really matter what is returned here because the return value is
ignored by the caller:

        try {
            await0(Long.MAX_VALUE, false);
        } catch ( InterruptedException ie) {
            // Do nothing : this catch is just mandatory by contract
        }

The right solution IMHO would be to use a timeout of -1 to wait forever
and 0 for a poll. However you might prefer:

        long endTime = timeoutMillis;
        if (endTime != Long.MAX_VALUE)
                endTime += System.currentTimeMillis();

Cheers,
Steve





--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org


Reply via email to