Mercurial > cgi-bin > hgweb.cgi > SimpleResizer
diff app/src/main/java/com/bartsent/simpleresizer/lib/Channel.kt @ 9:884092efe31a concur
Gets gratuitously killed. WTF?
author | David Barts <n5jrn@me.com> |
---|---|
date | Wed, 17 Feb 2021 13:20:25 -0800 |
parents | 9374d044a132 |
children |
line wrap: on
line diff
--- a/app/src/main/java/com/bartsent/simpleresizer/lib/Channel.kt Wed Feb 17 07:24:26 2021 -0800 +++ b/app/src/main/java/com/bartsent/simpleresizer/lib/Channel.kt Wed Feb 17 13:20:25 2021 -0800 @@ -1,5 +1,6 @@ package com.bartsent.simpleresizer.lib +import android.util.Log import java.util.concurrent.Semaphore /** @@ -17,11 +18,13 @@ * @param item Item to write */ fun write(item: T): Unit { + Log.d("Channel<${hashCode()}>", "write…") wSem.acquire() synchronized(this) { buffer[(start + rSem.availablePermits()) % buffer.size] = item rSem.release() } + Log.d("Channel<${hashCode()}>", "write done") } /** @@ -29,12 +32,14 @@ * @return The item read */ fun read(): T { + Log.d("Channel<${hashCode()}>", "read…") rSem.acquire() synchronized(this) { val ret = buffer[start]!! as T buffer[start] = null // unref start = (start + 1) % buffer.size wSem.release() + Log.d("Channel<${hashCode()}>", "read done") return ret } }