From 9e88556a1c9241856a86051efd0f18fb768b5d41 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Mon, 26 Aug 2013 16:38:13 +0300 Subject: [PATCH] tests: Kill hostapd/wpa_supplicant more forcefully if needed Try to make sure new testing can be started by forcing hostapd/wpa_supplicant to be killed with SIGKILL if needed. In addition, wait a bit longer when killing the processes to avoid issues with the next test run starting before the old one has been fully terminated. Signed-hostap: Jouni Malinen --- tests/hwsim/stop-wifi.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/hwsim/stop-wifi.sh b/tests/hwsim/stop-wifi.sh index a4255bada..184ce8467 100755 --- a/tests/hwsim/stop-wifi.sh +++ b/tests/hwsim/stop-wifi.sh @@ -1,5 +1,11 @@ #!/bin/sh +if pidof wpa_supplicant hostapd > /dev/null; then + RUNNING=yes +else + RUNNING=no +fi + sudo killall -q hostapd sudo killall -q wpa_supplicant for i in `pidof valgrind.bin`; do @@ -12,6 +18,29 @@ sudo killall -q tcpdump if grep -q hwsim0 /proc/net/dev; then sudo ifconfig hwsim0 down fi + +if [ "$RUNNING" = "yes" ]; then + # give some time for hostapd and wpa_supplicant to complete deinit + sleep 2 +fi + +if pidof wpa_supplicant hostapd > /dev/null; then + echo "wpa_supplicant/hostapd did not exit - try to force them to die" + sudo killall -9 -q hostapd + sudo killall -9 -q wpa_supplicant + sleep 5 +fi + +for i in `pidof valgrind.bin`; do + if ps $i | grep -q -E "wpa_supplicant|hostapd"; then + echo "wpa_supplicant/hostapd(valgrind) did not exit - try to force it to die" + sudo kill -9 $i + fi +done + if grep -q mac80211_hwsim /proc/modules ; then sudo rmmod mac80211_hwsim + # wait at the end to avoid issues starting something new immediately after + # this script returns + sleep 1 fi