]> Cypherpunks.ru repositories - goircd.git/blobdiff - goircd.go
Remove goroutines that lead to possible races
[goircd.git] / goircd.go
index 9fdabc0357d1a7430a422aee6c919284b936ce28..dbf6d7dd84384e182a9ee00f3290d4d107033db0 100644 (file)
--- a/goircd.go
+++ b/goircd.go
@@ -35,9 +35,8 @@ var (
        logdir   = flag.String("logdir", "", "Absolute path to directory for logs")
        statedir = flag.String("statedir", "", "Absolute path to directory for states")
 
-       ssl     = flag.Bool("ssl", false, "Use SSL only.")
-       sslKey  = flag.String("ssl_key", "", "SSL keyfile.")
-       sslCert = flag.String("ssl_cert", "", "SSL certificate.")
+       tlsKey  = flag.String("tls_key", "", "TLS keyfile")
+       tlsCert = flag.String("tls_cert", "", "TLS certificate")
 
        verbose = flag.Bool("v", false, "Enable verbose logging.")
 )
@@ -47,11 +46,11 @@ func Run() {
        events := make(chan ClientEvent)
        log.SetFlags(log.Ldate | log.Lmicroseconds | log.Lshortfile)
 
-       log_sink := make(chan LogEvent)
+       logSink := make(chan LogEvent)
        if *logdir == "" {
                // Dummy logger
                go func() {
-                       for _ = range log_sink {
+                       for _ = range logSink {
                        }
                }()
        } else {
@@ -59,17 +58,17 @@ func Run() {
                        log.Fatalln("Need absolute path for logdir")
                        return
                }
-               go Logger(*logdir, log_sink)
+               go Logger(*logdir, logSink)
                log.Println(*logdir, "logger initialized")
        }
 
-       state_sink := make(chan StateEvent)
-       daemon := NewDaemon(*hostname, *motd, log_sink, state_sink)
+       stateSink := make(chan StateEvent)
+       daemon := NewDaemon(*hostname, *motd, logSink, stateSink)
        daemon.Verbose = *verbose
        if *statedir == "" {
                // Dummy statekeeper
                go func() {
-                       for _ = range state_sink {
+                       for _ = range stateSink {
                        }
                }()
        } else {
@@ -95,15 +94,15 @@ func Run() {
                                log.Println("Loaded state for room", room.name)
                        }
                }
-               go StateKeeper(*statedir, state_sink)
+               go StateKeeper(*statedir, stateSink)
                log.Println(*statedir, "statekeeper initialized")
        }
 
        var listener net.Listener
-       if *ssl {
-               cert, err := tls.LoadX509KeyPair(*sslCert, *sslKey)
+       if *tlsKey != "" {
+               cert, err := tls.LoadX509KeyPair(*tlsCert, *tlsKey)
                if err != nil {
-                       log.Fatalf("Could not load SSL keys from %s and %s: %s", *sslCert, *sslKey, err)
+                       log.Fatalf("Could not load TLS keys from %s and %s: %s", *tlsCert, *tlsKey, err)
                }
                config := tls.Config{Certificates: []tls.Certificate{cert}}
                listener, err = tls.Listen("tcp", *bind, &config)