• D
    Refactor: Use thread-locked goroutine for ptrace ops · e4fc5e32
    Derek Parker 提交于
    Previously either the terminal client or the debugger service would
    either lock main goroutine to a thread or provide a locked goroutine to
    run _all_ DebuggedProcess functions in. This is unnecessary because only
    ptrace functions need to be run from the same thread that originated the
    PT_ATTACH request.
    
    Here we use a specific thread-locked goroutine to service any ptrace
    request. That goroutine is also responsible for the initial spawning /
    attaching of the process, since it must be responsible for the PT_ATTACH
    request.
    e4fc5e32
threads_darwin.go 2.6 KB