A synchronization problem fixed. BLD200304210100
authormentlicher@netbeans.org
Fri, 18 Apr 2003 15:38:22 +0000
changeset 3381a158f4a1e330
parent 3380 33dc667b77c7
child 3382 d5fd424b25b2
A synchronization problem fixed.
We mistakenly synchronized on Boolean.FALSE or Boolean.TRUE.
This is not good, because anyone else can synchronize on them as well.
This is a fix of issue #33058.
vcscore/src/org/netbeans/modules/vcscore/VcsFileSystem.java
     1.1 --- a/vcscore/src/org/netbeans/modules/vcscore/VcsFileSystem.java	Fri Apr 18 13:18:40 2003 +0000
     1.2 +++ b/vcscore/src/org/netbeans/modules/vcscore/VcsFileSystem.java	Fri Apr 18 15:38:22 2003 +0000
     1.3 @@ -275,6 +275,7 @@
     1.4      private transient VcsFactory factory = null;
     1.5      private transient VcsCommandsProvider commandsProvider = new DefaultVcsCommandsProvider(new CommandsTree(null));
     1.6  
     1.7 +    private transient Object processUnimportantFilesLock = new Object();
     1.8      private Boolean processUnimportantFiles = Boolean.FALSE;
     1.9  
    1.10      /**
    1.11 @@ -582,7 +583,7 @@
    1.12      public void setProcessUnimportantFiles(boolean processUnimportantFiles) {
    1.13          boolean fire = false;
    1.14          Boolean old = null;
    1.15 -        synchronized (this.processUnimportantFiles) {
    1.16 +        synchronized (this.processUnimportantFilesLock) {
    1.17              if (processUnimportantFiles != this.processUnimportantFiles.booleanValue()) {
    1.18                  old = this.processUnimportantFiles;
    1.19                  this.processUnimportantFiles = processUnimportantFiles ? Boolean.TRUE : Boolean.FALSE;
    1.20 @@ -595,7 +596,7 @@
    1.21      }
    1.22  
    1.23      public boolean isProcessUnimportantFiles() {
    1.24 -        synchronized (processUnimportantFiles) {
    1.25 +        synchronized (processUnimportantFilesLock) {
    1.26              return processUnimportantFiles.booleanValue();
    1.27          }
    1.28      }
    1.29 @@ -1860,6 +1861,7 @@
    1.30              versioningFileSystemShowGarbageFiles = "";
    1.31          }
    1.32          //cache.setLocalFilesAdd (localFilesOn);
    1.33 +        processUnimportantFilesLock = new Object();
    1.34          if (null == processUnimportantFiles) processUnimportantFiles = Boolean.FALSE;
    1.35          last_rootFile = new File(getFSRoot());
    1.36          //} catch (Throwable thr) {