< prev index next >

src/java.base/share/classes/java/util/concurrent/Exchanger.java

Print this page
8211283: Miscellaneous changes imported from jsr166 CVS 2018-11
Reviewed-by: martin, chegar

*** 562,573 **** Object v; Node[] a; Object item = (x == null) ? NULL_ITEM : x; // translate null args if (((a = arena) != null || (v = slotExchange(item, false, 0L)) == null) && ! ((Thread.interrupted() || // disambiguates null return ! (v = arenaExchange(item, false, 0L)) == null))) throw new InterruptedException(); return (v == NULL_ITEM) ? null : (V)v; } /** --- 562,573 ---- Object v; Node[] a; Object item = (x == null) ? NULL_ITEM : x; // translate null args if (((a = arena) != null || (v = slotExchange(item, false, 0L)) == null) && ! (Thread.interrupted() || // disambiguates null return ! (v = arenaExchange(item, false, 0L)) == null)) throw new InterruptedException(); return (v == NULL_ITEM) ? null : (V)v; } /**
*** 618,629 **** Object v; Object item = (x == null) ? NULL_ITEM : x; long ns = unit.toNanos(timeout); if ((arena != null || (v = slotExchange(item, true, ns)) == null) && ! ((Thread.interrupted() || ! (v = arenaExchange(item, true, ns)) == null))) throw new InterruptedException(); if (v == TIMED_OUT) throw new TimeoutException(); return (v == NULL_ITEM) ? null : (V)v; } --- 618,629 ---- Object v; Object item = (x == null) ? NULL_ITEM : x; long ns = unit.toNanos(timeout); if ((arena != null || (v = slotExchange(item, true, ns)) == null) && ! (Thread.interrupted() || ! (v = arenaExchange(item, true, ns)) == null)) throw new InterruptedException(); if (v == TIMED_OUT) throw new TimeoutException(); return (v == NULL_ITEM) ? null : (V)v; }
< prev index next >