Browse Source

mwan3: fix race condition in route loading

Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
lilik-openwrt-22.03
Aaron Goodman 4 years ago
committed by Florian Eckert
parent
commit
21ac1b2c3e
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      net/mwan3/files/usr/sbin/mwan3rtmon

+ 2
- 2
net/mwan3/files/usr/sbin/mwan3rtmon View File

@ -158,6 +158,7 @@ main()
sh -c "echo \$\$; exec $IP monitor route" | { sh -c "echo \$\$; exec $IP monitor route" | {
read -r monitor_pid read -r monitor_pid
trap_with_arg func_trap "$monitor_pid" SIGINT SIGTERM SIGKILL trap_with_arg func_trap "$monitor_pid" SIGINT SIGTERM SIGKILL
KILL -SIGSTOP $$
while IFS='' read -r line; do while IFS='' read -r line; do
[ -z "${line##*table*}" ] && continue [ -z "${line##*table*}" ] && continue
LOG debug "handling route update $family '$line'" LOG debug "handling route update $family '$line'"
@ -165,11 +166,10 @@ main()
done done
} & } &
child=$! child=$!
kill -SIGSTOP $child
trap_with_arg func_trap "$child" SIGINT SIGTERM SIGKILL trap_with_arg func_trap "$child" SIGINT SIGTERM SIGKILL
mwan3_set_connected_${family} mwan3_set_connected_${family}
mwan3_add_all_routes ${family} mwan3_add_all_routes ${family}
kill -SIGCONT $child kill -SIGCONT $child
wait $!
wait $child
} }
main "$@" main "$@"

Loading…
Cancel
Save