# HG changeset patch # User Jaroslav Tulach # Date 1213430674 -7200 # Node ID bd5089d237717616af477ea8c55d46bc61c4075e # Parent 0e46110eebc1b6b190bd704d2e975928e12b35fb reading needs to synchronize as well diff -r 0e46110eebc1 -r bd5089d23771 samples/reentrant/src/org/apidesign/reentrant/CriticalSectionReentrantImmutable.java --- a/samples/reentrant/src/org/apidesign/reentrant/CriticalSectionReentrantImmutable.java Sat Jun 14 10:04:19 2008 +0200 +++ b/samples/reentrant/src/org/apidesign/reentrant/CriticalSectionReentrantImmutable.java Sat Jun 14 10:04:34 2008 +0200 @@ -13,7 +13,10 @@ // BEGIN: reentrant.merge.immutable public int sumBigger(Collection args) { for (;;) { - ImmutableData previous = this.data; + ImmutableData previous; + synchronized (this) { + previous = this.data; + } int[] ret = { 0 }; ImmutableData now = doCriticalSection(args, previous, ret);