PKGBUILD/pkg/daemon/daemon.go

34 lines
771 B
Go
Raw Normal View History

package daemon
import (
"fmt"
"os"
"os/signal"
"syscall"
"github.com/volker-raschek/flucky/pkg/config"
"github.com/volker-raschek/flucky/pkg/sensor"
"github.com/volker-raschek/flucky/pkg/types"
)
// Start the daemon
func Start(cnf *config.FluckyConfig) error {
interrupt := make(chan os.Signal, 1)
signal.Notify(interrupt, os.Interrupt, os.Kill, syscall.SIGTERM)
humidityChannel := make(chan *types.Humidity)
temperatureChannel := make(chan *types.Temperature)
go sensor.ReadHumiditiesContinuously(humiditySensors, humidityChannel)
go sensor.ReadTemperaturesContinuously(temperatureSensors, temperatureChannel)
for {
select {
case killSignal := <-interrupt:
return fmt.Errorf("Daemon was interruped by system signal %v", killSignal)
}
}
}