unbound.init 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/sh /etc/rc.common
  2. ##############################################################################
  3. #
  4. # Copyright (C) 2016 Michael Hanselmann, Eric Luehrsen
  5. #
  6. ##############################################################################
  7. #
  8. # This init script is just the entry point for Unbound UCI.
  9. #
  10. ##############################################################################
  11. START=19
  12. STOP=50
  13. USE_PROCD=1
  14. PROG=/usr/sbin/unbound
  15. ##############################################################################
  16. boot() {
  17. UNBOUND_BOOT=1
  18. start "$@"
  19. }
  20. ##############################################################################
  21. start_service() {
  22. if [ -n "$UNBOUND_BOOT" ] ; then
  23. # Load procd triggers (rc) and use event IFUP to really start
  24. return 0
  25. fi
  26. # complex UCI work
  27. . /usr/lib/unbound/unbound.sh
  28. unbound_start
  29. # standard procd clause
  30. procd_open_instance "unbound"
  31. procd_set_param command $PROG -d -c $UNBOUND_CONFFILE
  32. procd_set_param respawn
  33. procd_close_instance
  34. }
  35. ##############################################################################
  36. stop_service() {
  37. # clean up
  38. . /usr/lib/unbound/unbound.sh
  39. unbound_stop
  40. # Wait! on restart Unbound may take time writing closure stats to syslog
  41. pidof $PROG && sleep 1
  42. }
  43. ##############################################################################
  44. service_triggers() {
  45. # use soft reload to prevent continuous stop-start and cache flush
  46. procd_add_reload_trigger "unbound"
  47. procd_add_raw_trigger "interface.*.up" 2000 /etc/init.d/unbound reload
  48. }
  49. ##############################################################################