提交 6bf60960 authored 作者: Thomas Mueller's avatar Thomas Mueller

Avoid concurrency problems

上级 3c5b4596
...@@ -210,10 +210,11 @@ public class ObjectDataType implements DataType { ...@@ -210,10 +210,11 @@ public class ObjectDataType implements DataType {
} }
} }
} }
if (typeId != last.typeId) { AutoDetectDataType t = last;
last = newType(typeId); if (typeId != t.typeId) {
last = t = newType(typeId);
} }
return last.read(buff, tag); return t.read(buff, tag);
} }
private static int getTypeId(Object obj) { private static int getTypeId(Object obj) {
...@@ -261,7 +262,7 @@ public class ObjectDataType implements DataType { ...@@ -261,7 +262,7 @@ public class ObjectDataType implements DataType {
int typeId = getTypeId(obj); int typeId = getTypeId(obj);
AutoDetectDataType l = last; AutoDetectDataType l = last;
if (typeId != l.typeId) { if (typeId != l.typeId) {
l = last = newType(typeId); last = l = newType(typeId);
} }
return l; return l;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论