Hi Vyom,

Thanks for taking this on.   I have a few comments and questions.

In aix_close.c line 547 The code for if (nanoTimeout >= NSEC_PER_MSEC) seems ineffective.

The update of nanoTime at 549-550 ensures the timeout is > NSEC_PER_MSEC if it loops. On the first pass through the code if nanoTimeout was < NSEC_PER_MSEC it would poll with a timeout of zero which returns immediately, EINTR is not possible.

The comment at 546 would be inaccurate if nanoTimeout is too small, because it will loop again.

I think the behavior would be the same if the extra condition at 547 is removed.

Most of the other xxx_close.c classes have the same structure.

PlainSocketImpl.c has the same structure


The bsd_close.c had the same kind of before and after checking but did previously and conservatively I'd keep that structure though I think it was ineffective in that case too.

Thanks, Roger




On 4/11/2017 9:04 AM, Vyom Tewari wrote:
Hi,

Please review the code change for below issue.

Bug:       https://bugs.openjdk.java.net/browse/JDK-8165437

Webrev: http://cr.openjdk.java.net/~vtewari/8165437/webrev0.5/index.html

This change will replace the "gettimeofday" to use the monotonic increasing clock(i used the existing function "JVM_NanoTime" instead of writing my own).

Thanks,

Vyom



Reply via email to