@@ -493,21 +493,26 @@ start_smbd() {
493493
494494start_mdns () {
495495 if [ ! -x " $MDNS_BIN " ]; then
496+ log " mdns advertiser launch skipped; missing $MDNS_BIN "
496497 return 0
497498 fi
498499
499500 now_ts=$( /bin/date +%s)
500501 elapsed=$(( now_ts - SCRIPT_START_TS))
502+ log " mdns startup: elapsed=${elapsed} s delay=${MDNS_STARTUP_DELAY_SECONDS} s"
501503 if [ " $elapsed " -lt " $MDNS_STARTUP_DELAY_SECONDS " ]; then
504+ log " mdns startup: sleeping $(( MDNS_STARTUP_DELAY_SECONDS - elapsed)) s before launch"
502505 sleep $(( MDNS_STARTUP_DELAY_SECONDS - elapsed))
503506 fi
504507
505508 iface_mac=$( get_iface_mac " $NET_IFACE " || true)
509+ log " mdns startup: interface $NET_IFACE mac=${iface_mac:- missing} "
506510 if [ -z " $iface_mac " ]; then
507511 log " mdns advertiser launch skipped; missing $NET_IFACE MAC address"
508512 return 0
509513 fi
510514
515+ log " mdns startup: killing prior $MDNS_PROC_NAME processes"
511516 /usr/bin/pkill " $MDNS_PROC_NAME " > /dev/null 2>&1 || true
512517 sleep 1
513518
@@ -520,6 +525,7 @@ start_mdns() {
520525 --host " $MDNS_HOST_LABEL " \
521526 --device-model " $MDNS_DEVICE_MODEL "
522527 if derive_airport_fields " $iface_mac " ; then
528+ log " mdns startup: derived airport fields wama=${AIRPORT_WAMA:- missing} rama=${AIRPORT_RAMA:- missing} ram2=${AIRPORT_RAM2:- missing} syvs=${AIRPORT_SYVS:- missing} srcv=${AIRPORT_SRCV:- missing} "
523529 set -- " $@ " \
524530 --airport-wama " $AIRPORT_WAMA " \
525531 --airport-rama " $AIRPORT_RAMA " \
@@ -540,16 +546,24 @@ start_mdns() {
540546 --adisk-uuid " $ADISK_UUID " \
541547 --adisk-sys-wama " $iface_mac " \
542548 --ipv4 " $BRIDGE0_IP "
549+ log " mdns startup: final argv prepared"
543550 if [ " $MDNS_LOG_ENABLED " = " 1" ]; then
551+ log " mdns startup: debug logging enabled at $MDNS_LOG_FILE "
544552 trim_log_file " $MDNS_LOG_FILE " 131072
545553 printf ' %s rc.local: launching mdns-advertiser\n' " $( date ' +%Y-%m-%d %H:%M:%S' ) " >> " $MDNS_LOG_FILE "
546554 " $@ " >> " $MDNS_LOG_FILE " 2>&1 &
547555 else
556+ log " mdns startup: debug logging disabled"
548557 " $@ " > /dev/null 2>&1 &
549558 fi
550- if wait_for_process " $MDNS_PROC_NAME " 90; then
559+ mdns_launch_pid=$!
560+ log " mdns startup: launched background pid $mdns_launch_pid "
561+ log " mdns startup: waiting for process match on $MDNS_PROC_NAME "
562+ if wait_for_process " $MDNS_PROC_NAME " 100; then
563+ log " mdns startup: wait_for_process succeeded"
551564 log " mdns advertiser launch requested"
552565 else
566+ log " mdns startup: wait_for_process failed"
553567 log " mdns advertiser failed to stay running"
554568 fi
555569}
0 commit comments