kappanhang/main.go

53 lines
786 B
Go
Raw Normal View History

2020-10-16 17:13:46 +02:00
package main
import (
2020-10-16 19:25:02 +02:00
"os"
"os/signal"
"syscall"
2020-10-16 17:13:46 +02:00
"github.com/nonoo/kappanhang/log"
)
2020-10-18 10:33:47 +02:00
var streams struct {
control controlStream
audio audioStream
2020-10-17 23:53:33 +02:00
}
2020-10-16 17:13:46 +02:00
func exit(err error) {
2020-10-18 13:19:52 +02:00
if err != nil {
log.Error(err.Error())
}
log.Print("disconnecting")
2020-10-18 13:19:52 +02:00
if streams.audio.common.conn != nil {
streams.audio.sendDisconnect()
}
if streams.control.common.conn != nil {
streams.control.sendDisconnect()
}
if err == nil {
os.Exit(0)
} else {
os.Exit(1)
}
}
2020-10-16 19:25:02 +02:00
func setupCloseHandler() {
c := make(chan os.Signal)
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
go func() {
<-c
exit(nil)
2020-10-16 19:25:02 +02:00
}()
}
2020-10-16 17:13:46 +02:00
func main() {
log.Init()
2020-10-18 13:02:41 +02:00
log.Print("kappanhang by Norbert Varga HA2NON https://github.com/nonoo/kappanhang")
2020-10-16 17:13:46 +02:00
parseArgs()
2020-10-16 19:25:02 +02:00
setupCloseHandler()
2020-10-16 17:13:46 +02:00
streams.control.start()
2020-10-16 17:13:46 +02:00
}