Commit f418ec7a authored by David Fifield's avatar David Fifield
Browse files

Handle TOR_PT_EXIT_ON_STDIN_CLOSE.

parent 1fa9bc05
......@@ -5,6 +5,7 @@ import (
"errors"
"flag"
"io"
"io/ioutil"
"log"
"net"
"os"
......@@ -200,6 +201,16 @@ func main() {
sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, syscall.SIGTERM)
if os.Getenv("TOR_PT_EXIT_ON_STDIN_CLOSE") == "1" {
// This environment variable means we should treat EOF on stdin
// just like SIGTERM: https://bugs.torproject.org/15435.
go func() {
io.Copy(ioutil.Discard, os.Stdin)
log.Printf("synthesizing SIGTERM because of stdin close")
sigChan <- syscall.SIGTERM
}()
}
// keep track of handlers and wait for a signal
sig = nil
for sig == nil {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment