1edf9ef80d8804366f5c1323201d0b0010fee26a
[librecmc/package-feed.git] / net / unbound / files / unbound.init
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
12 START=19
13 STOP=50
14 USE_PROCD=1
15 PROG=/usr/sbin/unbound
16
17 ##############################################################################
18
19 . /usr/lib/unbound/unbound.sh
20
21 ##############################################################################
22
23 boot() {
24   UNBOUND_BOOT=1
25   start "$@"
26 }
27
28 ##############################################################################
29
30 start_service() {
31   if [ -n "$UNBOUND_BOOT" ] ; then
32     # Load procd triggers (rc) and use event IFUP to really start
33     return 0
34   fi
35
36   # complex UCI work
37   unbound_start
38
39   # standard procd clause
40   procd_open_instance
41   procd_set_param command $PROG -d -c $UNBOUND_CONFFILE
42   procd_set_param respawn
43   procd_close_instance
44 }
45
46 ##############################################################################
47
48 stop_service() {
49   unbound_stop
50   
51   # Wait! on restart Unbound may take time writing closure stats to syslog
52   pidof $PROG && sleep 1
53 }
54
55 ##############################################################################
56
57 service_triggers() {
58   # use soft reload to prevent continuous stop-start and cache flush
59   procd_add_reload_trigger "unbound"
60   procd_add_raw_trigger "interface.*.up" 2000 /etc/init.d/unbound reload
61 }
62
63 ##############################################################################
64