Browse Source

refactor some start-stop logging

tags/v2.8.0-rc1
Shivaram Lingamneni 2 years ago
parent
commit
364193df4e
2 changed files with 20 additions and 18 deletions
  1. 0
    4
      ergo.go
  2. 20
    14
      irc/server.go

+ 0
- 4
ergo.go View File

192
 			logman.Error("server", fmt.Sprintf("Could not load server: %s", err.Error()))
192
 			logman.Error("server", fmt.Sprintf("Could not load server: %s", err.Error()))
193
 			os.Exit(1)
193
 			os.Exit(1)
194
 		}
194
 		}
195
-		if !arguments["--quiet"].(bool) {
196
-			logman.Info("server", "Server running")
197
-			defer logman.Info("server", fmt.Sprintf("%s exiting", irc.Ver))
198
-		}
199
 		if !arguments["--smoke"].(bool) {
195
 		if !arguments["--smoke"].(bool) {
200
 			server.Run()
196
 			server.Run()
201
 		}
197
 		}

+ 20
- 14
irc/server.go View File

81
 	rehashMutex       sync.Mutex // tier 4
81
 	rehashMutex       sync.Mutex // tier 4
82
 	rehashSignal      chan os.Signal
82
 	rehashSignal      chan os.Signal
83
 	pprofServer       *http.Server
83
 	pprofServer       *http.Server
84
-	signals           chan os.Signal
84
+	exitSignals       chan os.Signal
85
 	snomasks          SnoManager
85
 	snomasks          SnoManager
86
 	store             *buntdb.DB
86
 	store             *buntdb.DB
87
 	historyDB         mysql.MySQL
87
 	historyDB         mysql.MySQL
100
 		listeners:    make(map[string]IRCListener),
100
 		listeners:    make(map[string]IRCListener),
101
 		logger:       logger,
101
 		logger:       logger,
102
 		rehashSignal: make(chan os.Signal, 1),
102
 		rehashSignal: make(chan os.Signal, 1),
103
-		signals:      make(chan os.Signal, len(ServerExitSignals)),
103
+		exitSignals:  make(chan os.Signal, len(ServerExitSignals)),
104
 		defcon:       5,
104
 		defcon:       5,
105
 	}
105
 	}
106
 
106
 
115
 	}
115
 	}
116
 
116
 
117
 	// Attempt to clean up when receiving these signals.
117
 	// Attempt to clean up when receiving these signals.
118
-	signal.Notify(server.signals, ServerExitSignals...)
118
+	signal.Notify(server.exitSignals, ServerExitSignals...)
119
 	signal.Notify(server.rehashSignal, syscall.SIGHUP)
119
 	signal.Notify(server.rehashSignal, syscall.SIGHUP)
120
 
120
 
121
 	time.AfterFunc(alwaysOnExpirationPollPeriod, server.handleAlwaysOnExpirations)
121
 	time.AfterFunc(alwaysOnExpirationPollPeriod, server.handleAlwaysOnExpirations)
126
 // Shutdown shuts down the server.
126
 // Shutdown shuts down the server.
127
 func (server *Server) Shutdown() {
127
 func (server *Server) Shutdown() {
128
 	sdnotify.Stopping()
128
 	sdnotify.Stopping()
129
+	server.logger.Info("server", "Stopping server")
129
 
130
 
130
 	//TODO(dan): Make sure we disallow new nicks
131
 	//TODO(dan): Make sure we disallow new nicks
131
 	for _, client := range server.clients.AllClients() {
132
 	for _, client := range server.clients.AllClients() {
140
 	}
141
 	}
141
 
142
 
142
 	server.historyDB.Close()
143
 	server.historyDB.Close()
144
+	server.logger.Info("server", fmt.Sprintf("%s exiting", Ver))
143
 }
145
 }
144
 
146
 
145
 // Run starts the server.
147
 // Run starts the server.
146
 func (server *Server) Run() {
148
 func (server *Server) Run() {
147
-	// defer closing db/store
148
-	defer server.store.Close()
149
+	defer server.Shutdown()
149
 
150
 
150
 	for {
151
 	for {
151
 		select {
152
 		select {
152
-		case <-server.signals:
153
-			server.Shutdown()
153
+		case <-server.exitSignals:
154
 			return
154
 			return
155
-
156
 		case <-server.rehashSignal:
155
 		case <-server.rehashSignal:
157
 			server.logger.Info("server", "Rehashing due to SIGHUP")
156
 			server.logger.Info("server", "Rehashing due to SIGHUP")
158
 			go server.rehash()
157
 			go server.rehash()
714
 		server.logger.Info("server", "Proxied IPs will be accepted from", strings.Join(config.Server.ProxyAllowedFrom, ", "))
713
 		server.logger.Info("server", "Proxied IPs will be accepted from", strings.Join(config.Server.ProxyAllowedFrom, ", "))
715
 	}
714
 	}
716
 
715
 
716
+	// we are now ready to receive connections:
717
 	err = server.setupListeners(config)
717
 	err = server.setupListeners(config)
718
-	// send other config warnings
719
-	if config.Accounts.RequireSasl.Enabled && config.Accounts.Registration.Enabled {
720
-		server.logger.Warning("server", "Warning: although require-sasl is enabled, users can still register accounts. If your server is not intended to be public, you must set accounts.registration.enabled to false.")
721
-	}
722
 
718
 
723
-	// we are now open for business
724
-	sdnotify.Ready()
719
+	if err == nil {
720
+		// we are now open for business
721
+		if initial {
722
+			server.logger.Info("server", "Server running")
723
+		}
724
+		sdnotify.Ready()
725
+	}
725
 
726
 
726
 	if !initial {
727
 	if !initial {
727
 		// push new info to all of our clients
728
 		// push new info to all of our clients
736
 		}
737
 		}
737
 	}
738
 	}
738
 
739
 
740
+	// send other config warnings
741
+	if config.Accounts.RequireSasl.Enabled && config.Accounts.Registration.Enabled {
742
+		server.logger.Warning("server", "Warning: although require-sasl is enabled, users can still register accounts. If your server is not intended to be public, you must set accounts.registration.enabled to false.")
743
+	}
744
+
739
 	return err
745
 	return err
740
 }
746
 }
741
 
747
 

Loading…
Cancel
Save