b0a5d4c266
Motivation: A race detector found that DefaultPromise.listeners is improperly synchronized [1]. Worst case a listener will not be executed when the promise is completed. Modifications: Make DefaultPromise.listeners a volatile. Result: Hopefully, DefaultPromise is more correct under concurrent execution. [1] https://github.com/grpc/grpc-java/issues/2015 |
||
---|---|---|
.. | ||
concurrent | ||
internal | ||
AbstractConstant.java | ||
AbstractReferenceCounted.java | ||
AsciiString.java | ||
AsyncMapping.java | ||
Attribute.java | ||
AttributeKey.java | ||
AttributeMap.java | ||
BooleanSupplier.java | ||
ByteProcessor.java | ||
CharsetUtil.java | ||
Constant.java | ||
ConstantPool.java | ||
DefaultAttributeMap.java | ||
DomainMappingBuilder.java | ||
DomainNameMapping.java | ||
DomainNameMappingBuilder.java | ||
HashedWheelTimer.java | ||
HashingStrategy.java | ||
IllegalReferenceCountException.java | ||
IntSupplier.java | ||
Mapping.java | ||
NetUtil.java | ||
package-info.java | ||
Recycler.java | ||
ReferenceCounted.java | ||
ReferenceCountUtil.java | ||
ResourceLeak.java | ||
ResourceLeakDetector.java | ||
ResourceLeakDetectorFactory.java | ||
ResourceLeakException.java | ||
ResourceLeakHint.java | ||
Signal.java | ||
ThreadDeathWatcher.java | ||
Timeout.java | ||
Timer.java | ||
TimerTask.java | ||
Version.java |