Close datalog.go channels on sqlite shutdown

pull/410/head
AvSquirrel 2016-05-03 03:02:44 +00:00
rodzic 24a6da3da9
commit aaf03acd8c
1 zmienionych plików z 3 dodań i 0 usunięć

Wyświetl plik

@ -411,6 +411,7 @@ func dataLogWriter(db *sql.DB) {
case <-shutdownDataLogWriter: // Received a message on the channel (anything). Graceful shutdown (defer statement).
log.Printf("dataLogWriter() received shutdown message with len(dataLogWriteChan) = %d and rowsQueuedForWrite = %d\n", len(dataLogWriteChan), len(rowsQueuedForWrite))
shutdownDataLog <- true
defer close(shutdownDataLog)
return
}
}
@ -449,6 +450,7 @@ func dataLog() {
defer func() {
db.Close()
dataLogStarted = false
close(dataLogChan)
log.Printf("dataLog() dB is now closed\n")
}()
@ -599,6 +601,7 @@ func closeDataLog() {
dataLogReadyToWrite = false // prevent any new messages from being sent down the channels
log.Printf("Shutting down SQLite data log\n")
shutdownDataLogWriter <- true
defer close(shutdownDataLogWriter)
log.Printf("Waiting for signal from dataLog()") //REMOVE -- DEBUG
for dataLogStarted {
log.Printf("closeDataLog(): dataLogStarted = %t\n", dataLogStarted) //REMOVE -- DEBUG