All Downloads are FREE. Search and download functionalities are using the official Maven repository.

darwinMain.io.ktor.util.ThreadInfoDarwin.kt Maven / Gradle / Ivy

Go to download

Ktor is a framework for quickly creating web applications in Kotlin with minimal effort.

The newest version!
/*
 * Copyright 2014-2022 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license.
 */

package io.ktor.util

import kotlinx.cinterop.*
import platform.darwin.*
import platform.posix.*
import threadUtils.*

@OptIn(ExperimentalForeignApi::class)
internal actual fun collectStack(thread: pthread_t): List {
    val size = collect_stack(thread)
    if (size < 0) throw IllegalArgumentException("Thread is stopped")
    val symbols = backtrace_symbols(callstack, size)!!
    return List(stack_size) { symbols[it]!!.toKString() }
}

@OptIn(ExperimentalForeignApi::class)
internal actual fun setSignalHandler() {
    set_signal_handler()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy