global var replaced by thread local

This commit is contained in:
Alex Tkachman
2012-02-23 17:13:03 +02:00
parent 4f67177aa2
commit f4bfffd714
3 changed files with 13 additions and 4 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ import jet.modules.*
fun module(name: String, callback: ModuleBuilder.() -> Unit) {
val builder = ModuleBuilder(name)
builder.callback()
AllModules.modules?.add(builder)
AllModules.modules.sure().get()?.add(builder)
}
class SourcesBuilder(val parent: ModuleBuilder) {
+10 -1
View File
@@ -22,5 +22,14 @@ package jet.modules;
import java.util.ArrayList;
public class AllModules {
public static final ArrayList<Module> modules = new ArrayList<Module>();
public static final ThreadLocal<ArrayList<Module>> modules = new ThreadLocal<ArrayList<Module>>() {
@Override
protected ArrayList<Module> initialValue() {
return new ArrayList<Module>();
}
};
private AllModules() {
}
}