<div dir="ltr"><div>I have a question regarding dealing with deadlines and long overflow.<br><br></div>For example the following from the SynchronousQueue:<br><br><pre style="background-color:rgb(43,43,43);color:rgb(169,183,198);font-family:"Source Code Pro";font-size:10.5pt"><span style="color:rgb(204,120,50)">final long </span>deadline = timed ? System.<span style="font-style:italic">nanoTime</span>() + nanos : <span style="color:rgb(104,151,187)">0L</span><span style="color:rgb(204,120,50)">;<br></span></pre>What would happen if someone calls queue.offer(item, Long.MAX_VALUE, NANOS) then deadline overflows and becomes negative. I see the same approach in other parts e.g. <br><br><pre style="background-color:rgb(43,43,43);color:rgb(169,183,198);font-family:"Source Code Pro";font-size:10.5pt"><span style="color:rgb(204,120,50)">this</span>.<span style="color:rgb(152,118,170)">deadline </span>= timed ? System.<span style="font-style:italic">nanoTime</span>() + nanos : <span style="color:rgb(104,151,187)">0L</span><span style="color:rgb(204,120,50)">;<br></span></pre>from the Phaser. Personally I like the simplicity; but my concern is regarding validity.<br></div>