File tree 1 file changed +2
-6
lines changed
kotlinx-coroutines-core/common/src/channels
1 file changed +2
-6
lines changed Original file line number Diff line number Diff line change @@ -36,16 +36,12 @@ internal open class ArrayChannel<E>(
36
36
*/
37
37
private var buffer: Array <Any ?> = arrayOfNulls<Any ?>(min(capacity, 8 ))
38
38
private var head: Int = 0
39
-
40
- private val _size = atomic(0 )
41
- private var size: Int // Invariant: size <= capacity
42
- get() = _size .value
43
- set(value) { _size .value = value }
39
+ private var size = 0 // Invariant: size <= capacity
44
40
45
41
protected final override val isBufferAlwaysEmpty: Boolean get() = false
46
42
protected final override val isBufferEmpty: Boolean get() = lock.withLock { size == 0 }
47
43
protected final override val isBufferAlwaysFull: Boolean get() = false
48
- protected final override val isBufferFull: Boolean get() = size == capacity
44
+ protected final override val isBufferFull: Boolean get() = lock.withLock { size == capacity }
49
45
50
46
// result is `OFFER_SUCCESS | OFFER_FAILED | Closed`
51
47
protected override fun offerInternal (element : E ): Any {
You can’t perform that action at this time.
0 commit comments