--- jsr166/src/jsr166e/ConcurrentHashMapV8.java 2013/07/20 16:50:04 1.112 +++ jsr166/src/jsr166e/ConcurrentHashMapV8.java 2013/08/09 18:43:44 1.114 @@ -1366,6 +1366,7 @@ public class ConcurrentHashMapV8 ex * Saves the state of the {@code ConcurrentHashMapV8} instance to a * stream (i.e., serializes it). * @param s the stream + * @throws java.io.IOException if an I/O error occurs * @serialData * the key (Object) and value (Object) * for each key-value mapping, followed by a null pair. @@ -1408,6 +1409,9 @@ public class ConcurrentHashMapV8 ex /** * Reconstitutes the instance from a stream (that is, deserializes it). * @param s the stream + * @throws ClassNotFoundException if the class of a serialized object + * could not be found + * @throws java.io.IOException if an I/O error occurs */ private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException { @@ -2682,7 +2686,7 @@ public class ConcurrentHashMapV8 ex return; } } - else if ((s | WAITER) == 0) { + else if ((s & WAITER) == 0) { if (U.compareAndSwapInt(this, LOCKSTATE, s, s | WAITER)) { waiting = true; waiter = Thread.currentThread();