mwan3: use procd for locking everywhere
authorAaron Goodman <aaronjg@stanford.edu>
Fri, 6 Nov 2020 01:37:37 +0000 (20:37 -0500)
committerFlorian Eckert <fe@dev.tdt.de>
Fri, 6 Nov 2020 09:40:57 +0000 (10:40 +0100)
commit59d12598b50edbc5a7a1f178c3c291524bd85b13
tree1dd9e076c1bdbc7f7d475406d1ab9f4ec8b977f0
parentbec7a1086f3f94a88875e11e99d80009b58c58f2
mwan3: use procd for locking everywhere

Replace locks on /var/run/mwan3.lock with locks via procd.

This fixes a deadlock issue where mwan3 stop would have a procd
lock, but a hotplug script would have the /var/run/mwan3.lock

Locking can be removed from mwan3rtmon since:
1) procd will have sent the KILL signal to the process during
shutdown, so it will not add routes to already removed interfaces on
mwan3 shutdown and
2) mwan3rtmon checks if an interface is active based on the
mwan3_iface_in_<IFACE> entry in iptables, and the hotplug script
always adds this before creating the route table and removes it
before deleting the route table

Fixes github issue #13704
(https://github.com/openwrt/packages/issues/13704)
net/mwan3/files/etc/hotplug.d/iface/15-mwan3
net/mwan3/files/etc/hotplug.d/iface/16-mwan3-user
net/mwan3/files/etc/init.d/mwan3
net/mwan3/files/lib/mwan3/mwan3.sh
net/mwan3/files/usr/sbin/mwan3rtmon