[asterisk-dev] [PATCH 2/2] Avoid a race between /etc/init.d/dahdi and hotplug scripts:
Tzafrir Cohen
tzafrir.cohen at xorcom.com
Thu Aug 31 11:19:44 CDT 2017
From: Oron Peled <oron.peled at xorcom.com>
* On some systems/configurations, dahdi init script may kick in
during the time that hotplug scripts are configuring spans.
* It may lead to a race since the init script runs "dahdi_auto_assign_compat"
which calls "dahdi_registration" and that tries to run
"dahdi_span_assignments auto ..."
* Use the newly-added "dahdi_span_assignments" "unmatched" operation.
* Now the "dahdi_auto_assign_compat" script only runs "dahdi_registration"
if there are no "unmatched" Astribanks.
* This prevents the race in fully configured systems.
The race may still exist on partially-configured systems.
---
hotplug/dahdi_auto_assign_compat | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/hotplug/dahdi_auto_assign_compat b/hotplug/dahdi_auto_assign_compat
index 96f90dd..23fa5a8 100755
--- a/hotplug/dahdi_auto_assign_compat
+++ b/hotplug/dahdi_auto_assign_compat
@@ -22,4 +22,9 @@ devices_by_registration_time | \
done
# Now handle Astribanks
-LC_ALL=C dahdi_registration -Rv on
+unmatched="`dahdi_span_assignments unmatched`"
+if [ -n "$unmatched" ]; then
+ # Only if astribanks are not matched in span-assignments.conf
+ # TODO: have dahdi_registration run only on "$unmatched"
+ LC_ALL=C dahdi_registration -Rv on
+fi
--
2.11.0
More information about the asterisk-dev
mailing list