(db *ledger.Ledger)
| 448 | } |
| 449 | |
| 450 | func waitToExit(db *ledger.Ledger) { |
| 451 | exit := make(chan bool, 0) |
| 452 | sc := make(chan os.Signal, 1) |
| 453 | signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, syscall.SIGHUP) |
| 454 | go func() { |
| 455 | for sig := range sc { |
| 456 | log.Infof("received exit signal: %v.", sig.String()) |
| 457 | log.Infof("closing ledger...") |
| 458 | db.Close() |
| 459 | close(exit) |
| 460 | break |
| 461 | } |
| 462 | }() |
| 463 | <-exit |
| 464 | } |