59 lines
1.3 KiB
Go
59 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"os/signal"
|
|
"strconv"
|
|
"syscall"
|
|
)
|
|
|
|
func FreqMhztoHz(freq string) string {
|
|
frequency, err := strconv.ParseFloat(freq, 64)
|
|
if err != nil {
|
|
log.Println("could not convert frequency string to int", err)
|
|
}
|
|
|
|
frequency = frequency / 1000
|
|
|
|
return strconv.FormatFloat(frequency, 'f', 6, 64)
|
|
}
|
|
|
|
func FreqHztoMhz(freq string) string {
|
|
frequency, err := strconv.ParseFloat(freq, 64)
|
|
if err != nil {
|
|
log.Println("could not convert frequency string to int", err)
|
|
}
|
|
|
|
frequency = frequency * 1000
|
|
|
|
return strconv.FormatFloat(frequency, 'f', 6, 64)
|
|
}
|
|
|
|
func CheckSignal(TCPClient *TCPClient, TCPServer *TCPServer, FlexClient *FlexClient, fRepo *FlexDXClusterRepository, cRepo *Log4OMContactsRepository) {
|
|
|
|
sigCh := make(chan os.Signal, 1)
|
|
signal.Notify(sigCh, syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGTERM)
|
|
|
|
// Gracely closing all connextions if signal is received
|
|
for sig := range sigCh {
|
|
Log.Infof("received signal: %v, shutting down all connections.", sig)
|
|
|
|
TCPClient.Close()
|
|
TCPServer.Conn.Close()
|
|
FlexClient.Conn.Close()
|
|
|
|
if err := fRepo.db.Close(); err != nil {
|
|
Log.Error("failed to close the database connection properly")
|
|
os.Exit(1)
|
|
}
|
|
|
|
if err := cRepo.db.Close(); err != nil {
|
|
Log.Error("failed to close Log4OM database connection properly")
|
|
os.Exit(1)
|
|
}
|
|
|
|
os.Exit(0)
|
|
}
|
|
}
|