• Felix Lange's avatar
    les: fix goroutine leak in execQueue (#14480) · e2015817
    Felix Lange authored
    execQueue used an atomic counter to track whether the queue had been
    closed, but the checking the counter didn't happen because the queue was
    blocked on its channel.
    
    Fix it by using a condition variable instead of sync/atomic. I tried an
    implementation based on channels first, but it was hard to make it
    reliable.
    
    quit now waits for the queue loop to exit.
    e2015817
execqueue_test.go 1.56 KB