# HG changeset patch # User Omair Majid # Date 1340928294 14400 # Node ID 9ef423f94e8ce95b9af4ec312ea028c3f92a7fb0 # Parent 9b00273579677c2f430857b87849ba141bef7b43 PR1741: Synchronize access to shared variable The variable writeInterrupted is accessed everywhere while holding a lock on 'this' object, except in one location. Fix that. 2012-06-28 Omair Majid * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java (write): Synchronize access to writeInterrupted flag. diff -r 9b0027357967 -r 9ef423f94e8c ChangeLog --- a/ChangeLog Thu Sep 29 16:59:04 2011 +0200 +++ b/ChangeLog Thu Jun 28 20:04:54 2012 -0400 @@ -1,3 +1,8 @@ +2012-06-28 Omair Majid + + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java + (write): Synchronize access to writeInterrupted flag. + 2011-09-29 Xerxes RĂ„nby David Henningsson diff -r 9b0027357967 -r 9ef423f94e8c pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Thu Sep 29 16:59:04 2011 +0200 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Thu Jun 28 20:04:54 2012 -0400 @@ -179,8 +179,10 @@ synchronized (eventLoop.threadLock) { do { - if (writeInterrupted) { - return sizeWritten; + synchronized (this) { + if (writeInterrupted) { + return sizeWritten; + } } if (availableSize == -1) {