aboutsummaryrefslogtreecommitdiffstats
path: root/main/dmvpn/0005-nhrp-events-wait-for-socket-creation-on-startup.patch
blob: 021c410a60c02168d570cce18faca719248cb39b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
From ae96f310077191b50c5bb52d39c3ef4f0c2fa552 Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Mon, 17 Feb 2020 19:26:27 +0200
Subject: [PATCH 5/5] nhrp-events: wait for socket creation on startup

avoid race condition where an nhs-up message arrives before socket is ready
---
 nhrp-events.initd | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/nhrp-events.initd b/nhrp-events.initd
index c42124f..0b40ead 100644
--- a/nhrp-events.initd
+++ b/nhrp-events.initd
@@ -1,13 +1,22 @@
 #!/sbin/openrc-run
 
 # init.d file for nhrp-events
-# Copyright (c) 2017-2018 Kaarle Ritvanen
+# Copyright (c) 2017-2020 Kaarle Ritvanen
 
 name=nhrp-events
-command=/usr/sbin/$name
 pidfile=/var/run/$name.pid
-command_background=1
 
 depend() {
 	need bgpd
 }
+
+start() {
+	local rc
+	local socket=/var/run/$name.sock
+	ebegin "Starting $name"
+	rm -f $socket
+	start-stop-daemon -bmS -p $pidfile /usr/sbin/$name
+	rc=$?
+	ewaitfile 5 $socket
+	eend $rc
+}
-- 
2.24.1