diff --git a/res/miracle-wfdctl-demo b/res/miracle-wfdctl-demo index e494416..2cb2917 100755 --- a/res/miracle-wfdctl-demo +++ b/res/miracle-wfdctl-demo @@ -103,6 +103,7 @@ get_prop() cleanup() { + trap '' TERM set +e while (( 0 != ${#cleanup[@]} )); do eval ${cleanup[${#cleanup[@]}-1]} @@ -148,10 +149,12 @@ peer_disconnect() Disconnect } -killall miracle-wifid &>/dev/null || true -killall miracle-wfwctl &>/dev/null || true +sudo killall miracle-wifid &>/dev/null || true +sudo killall miracle-wfwctl &>/dev/null || true trap cleanup EXIT +trap 'exit 0' TERM +trap '' CHLD set_prop org.freedesktop.NetworkManager \ /org/freedesktop/NetworkManager/Devices/"$nm_link_index" \ @@ -177,6 +180,7 @@ set_prop org.freedesktop.miracle.wifi \ P2PScanning b true cleanup_push link_stop_p2pscan echo connect to peer... +dump_packets & invoke org.freedesktop.miracle.wifi \ /org/freedesktop/miracle/wifi/peer/$peer_id \ org.freedesktop.miracle.wifi.Peer \ @@ -190,7 +194,7 @@ get_prop org.freedesktop.miracle.wifi \ tcpdump -nnvvXS -s 0 -i $p2p_iface port 7236 or port 67 or port 68 & cleanup_push "kill $!" -while ! killall -0 miracle-wfdctl && [[ -z "$nocheck" ]] &>/dev/null; do +while [[ -z "$nocheck" ]] && ! killall -0 miracle-wfdctl &>/dev/null; do echo please run miracle-wfdctl manually sleep 3 done