Kaynağa Gözat

99861 temp fix for deadlock when Sun' Unsafe.defineClass API is used (deadlock in JVMTI obviously, not tied to AJ, but bothers Ron)

tags/PRE_ANDY
avasseur 19 yıl önce
ebeveyn
işleme
aff35a1175

+ 8
- 6
loadtime/src/org/aspectj/weaver/loadtime/Aj.java Dosyayı Görüntüle

@@ -74,13 +74,15 @@ public class Aj implements ClassPreProcessor {
private static Map weavingAdaptors = new WeakHashMap();

static WeavingAdaptor getWeaver(ClassLoader loader) {
synchronized (weavingAdaptors) {
WeavingAdaptor weavingAdaptor = (WeavingAdaptor) weavingAdaptors.get(loader);
if (weavingAdaptor == null) {
weavingAdaptor = new ClassLoaderWeavingAdaptor(loader);
weavingAdaptors.put(loader, weavingAdaptor);
synchronized(loader) {//FIXME AV - temp fix for #99861
synchronized (weavingAdaptors) {
WeavingAdaptor weavingAdaptor = (WeavingAdaptor) weavingAdaptors.get(loader);
if (weavingAdaptor == null) {
weavingAdaptor = new ClassLoaderWeavingAdaptor(loader);
weavingAdaptors.put(loader, weavingAdaptor);
}
return weavingAdaptor;
}
return weavingAdaptor;
}
}
}

Loading…
İptal
Kaydet