[tor-commits] [snowflake/master] Remove SIGINT handling (no longer part of pt-spec).
dcf at torproject.org
dcf at torproject.org
Thu Jun 29 23:17:46 UTC 2017
commit 1fa9bc051c387b0c9bbcc16a447daaf54dfefea6
Author: David Fifield <david at bamsoftware.com>
Date: Thu Jun 29 15:20:54 2017 -0700
Remove SIGINT handling (no longer part of pt-spec).
---
client/snowflake.go | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/client/snowflake.go b/client/snowflake.go
index b1c3975..ad29aea 100644
--- a/client/snowflake.go
+++ b/client/snowflake.go
@@ -198,9 +198,9 @@ func main() {
var numHandlers int = 0
var sig os.Signal
sigChan := make(chan os.Signal, 1)
- signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
+ signal.Notify(sigChan, syscall.SIGTERM)
- // wait for first signal
+ // keep track of handlers and wait for a signal
sig = nil
for sig == nil {
select {
@@ -209,17 +209,16 @@ func main() {
case sig = <-sigChan:
}
}
+
+ // signal received, shut down
for _, ln := range listeners {
ln.Close()
}
snowflakes.End()
- // wait for second signal or no more handlers
- sig = nil
- for sig == nil && numHandlers != 0 {
- select {
- case n := <-handlerChan:
- numHandlers += n
- case sig = <-sigChan:
+ for n := range handlerChan {
+ numHandlers += n
+ if numHandlers == 0 {
+ break
}
}
log.Println("snowflake is done.")
More information about the tor-commits
mailing list