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

Fix early pointers release in curl engine

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