commit f418ec7a8591227c7c735450db9024bbf4751ef4 Author: David Fifield david@bamsoftware.com Date: Thu Jun 29 15:23:40 2017 -0700
Handle TOR_PT_EXIT_ON_STDIN_CLOSE. --- client/snowflake.go | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/client/snowflake.go b/client/snowflake.go index ad29aea..f632e5e 100644 --- a/client/snowflake.go +++ b/client/snowflake.go @@ -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 {
tor-commits@lists.torproject.org