Example #1
0
func ManageSignal(Serv *server.Server, myDb *db.Env) {
	c := make(chan os.Signal, 1)
	signal.Notify(c, os.Interrupt, os.Kill)
	s := <-c
	Serv.Logger.Println("try save data_cach on bdd following Get Signal: ", s)

	er := Serv.Lst_ball.Update_balls(Serv.Lst_ball, myDb)
	if er != nil {
		Serv.Logger.Println("Update_balls error: ", er)
	}
	er = Serv.Lst_users.Update_users(myDb)
	if er != nil {
		Serv.Logger.Println("Update_users error: ", er)
	}
	er = myDb.Db.Close()
	if er != nil {
		Serv.Logger.Println("Erreur on closing bdd: ", er)
	}
	Serv.Tab_wd.Logger = nil
	Serv.Lst_users.Logger = nil
	Serv.Lst_ball.Logger = nil
	Serv.Lst_Devices.Logger = nil
	Serv.Logger = nil
	fmt.Println()
	os.Exit(-1)
}