Коммит 32ffa95c создал по автору Leonid Stashevsky's avatar Leonid Stashevsky Зафиксировано автором Leonid.Stashevsky
Просмотр файлов

Fix early pointers release in curl engine

владелец e6f6e5c6
......@@ -34,8 +34,7 @@ internal fun onBodyChunkRequested(
size: size_t, count: size_t,
dataRef: COpaquePointer
): Long {
val streamRef = dataRef.asStableRef<ByteReadPacket>()
val body = streamRef.get()
val body: ByteReadPacket = dataRef.fromCPointer()
val requested = (size * count).toLong()
if (body.isEmpty) return 0
......
......@@ -112,10 +112,12 @@ internal class CurlMultiApiHandler : Closeable {
val easyHandle = message.easy_handle
?: throw CurlIllegalStateException("Got a null easy handle from the message")
activeHandles[easyHandle]!!.dispose()
activeHandles.remove(easyHandle)
responseDataList += readResponseDataFromEasyHandle(message.msg, easyHandle)
try {
responseDataList += readResponseDataFromEasyHandle(message.msg, easyHandle)
} finally {
activeHandles[easyHandle]!!.dispose()
activeHandles.remove(easyHandle)
}
} while (messagesLeft.value != 0)
}
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать