kopia lustrzana https://github.com/cyoung/stratux
Close datalog.go channels on sqlite shutdown
rodzic
24a6da3da9
commit
aaf03acd8c
|
@ -411,6 +411,7 @@ func dataLogWriter(db *sql.DB) {
|
||||||
case <-shutdownDataLogWriter: // Received a message on the channel (anything). Graceful shutdown (defer statement).
|
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))
|
log.Printf("dataLogWriter() received shutdown message with len(dataLogWriteChan) = %d and rowsQueuedForWrite = %d\n", len(dataLogWriteChan), len(rowsQueuedForWrite))
|
||||||
shutdownDataLog <- true
|
shutdownDataLog <- true
|
||||||
|
defer close(shutdownDataLog)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -449,6 +450,7 @@ func dataLog() {
|
||||||
defer func() {
|
defer func() {
|
||||||
db.Close()
|
db.Close()
|
||||||
dataLogStarted = false
|
dataLogStarted = false
|
||||||
|
close(dataLogChan)
|
||||||
log.Printf("dataLog() dB is now closed\n")
|
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
|
dataLogReadyToWrite = false // prevent any new messages from being sent down the channels
|
||||||
log.Printf("Shutting down SQLite data log\n")
|
log.Printf("Shutting down SQLite data log\n")
|
||||||
shutdownDataLogWriter <- true
|
shutdownDataLogWriter <- true
|
||||||
|
defer close(shutdownDataLogWriter)
|
||||||
log.Printf("Waiting for signal from dataLog()") //REMOVE -- DEBUG
|
log.Printf("Waiting for signal from dataLog()") //REMOVE -- DEBUG
|
||||||
for dataLogStarted {
|
for dataLogStarted {
|
||||||
log.Printf("closeDataLog(): dataLogStarted = %t\n", dataLogStarted) //REMOVE -- DEBUG
|
log.Printf("closeDataLog(): dataLogStarted = %t\n", dataLogStarted) //REMOVE -- DEBUG
|
||||||
|
|
Ładowanie…
Reference in New Issue