git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a95b88b
)
fix for occasional race conditions
author
jprocter
<Jim Procter>
Fri, 18 Feb 2011 17:12:22 +0000
(17:12 +0000)
committer
jprocter
<Jim Procter>
Fri, 18 Feb 2011 17:12:22 +0000
(17:12 +0000)
src/jalview/analysis/Conservation.java
patch
|
blob
|
history
diff --git
a/src/jalview/analysis/Conservation.java
b/src/jalview/analysis/Conservation.java
index
b557c5a
..
2ffb4de
100755
(executable)
--- a/
src/jalview/analysis/Conservation.java
+++ b/
src/jalview/analysis/Conservation.java
@@
-100,7
+100,7
@@
public class Conservation
int s, sSize = sequences.size();
SequenceI[] sarray = new SequenceI[sSize];
this.sequences = sarray;
int s, sSize = sequences.size();
SequenceI[] sarray = new SequenceI[sSize];
this.sequences = sarray;
-
+ try {
for (s = 0; s < sSize; s++)
{
sarray[s] = (SequenceI) sequences.elementAt(s);
for (s = 0; s < sSize; s++)
{
sarray[s] = (SequenceI) sequences.elementAt(s);
@@
-109,6
+109,12
@@
public class Conservation
maxLength = sarray[s].getLength();
}
}
maxLength = sarray[s].getLength();
}
}
+ } catch (ArrayIndexOutOfBoundsException ex)
+ {
+ // bail - another thread has modified the sequence array, so the current calculation is probably invalid.
+ this.sequences=new SequenceI[0];
+ maxLength=0;
+ }
}
/**
}
/**
@@
-271,7
+277,9
@@
public class Conservation
}
}
}
}
- total[i - start] = resultHash;
+ if (total.length>0) {
+ total[i - start] = resultHash;
+ }
}
}
}
}