• Austin Clements's avatar
    runtime: terminate locked OS thread if its goroutine exits · 4f34a529
    Austin Clements authored
    runtime.LockOSThread is sometimes used when the caller intends to put
    the OS thread into an unusual state. In this case, we never want to
    return this thread to the runtime thread pool. However, currently
    exiting the goroutine implicitly unlocks its OS thread.
    
    Fix this by terminating the locked OS thread when its goroutine exits,
    rather than simply returning it to the pool.
    
    Fixes #20395.
    
    Change-Id: I3dcec63b200957709965f7240dc216fa84b62ad9
    Reviewed-on: https://go-review.googlesource.com/46038
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarKeith Randall <khr@golang.org>
    4f34a529
crash_test.go 15.2 KB