From 2d305ff13a5e24fd2bd54e7dcde89539950974a1 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 7 Dec 2020 13:12:46 +0000 Subject: hostapd: return PID on config_add call To simplify the way netifd acquires the PIDs of wpa_supplicant and hostapd let the config_add method of both of them return the PID of the called process. Use the returned PID instead of querying procd when adding wpa_supplicant configuration. Signed-off-by: Daniel Golle --- package/network/services/hostapd/files/hostapd.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'package/network/services/hostapd/files/hostapd.sh') diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh index 0f6741336b..7d9ee5121e 100644 --- a/package/network/services/hostapd/files/hostapd.sh +++ b/package/network/services/hostapd/files/hostapd.sh @@ -1379,18 +1379,17 @@ wpa_supplicant_run() { _wpa_supplicant_common "$ifname" ubus wait_for wpa_supplicant - ubus call wpa_supplicant config_add "{ \ + local supplicant_pid=$(ubus call wpa_supplicant config_add "{ \ \"driver\": \"${_w_driver:-wext}\", \"ctrl\": \"$_rpath\", \ \"iface\": \"$ifname\", \"config\": \"$_config\" \ ${network_bridge:+, \"bridge\": \"$network_bridge\"} \ ${hostapd_ctrl:+, \"hostapd_ctrl\": \"$hostapd_ctrl\"} \ - }" + }" | jsonfilter -l 1 -e @.pid) ret="$?" [ "$ret" != 0 ] && wireless_setup_vif_failed WPA_SUPPLICANT_FAILED - local supplicant_pid=$(ubus call service list '{"name": "wpad"}' | jsonfilter -l 1 -e "@['wpad'].instances['supplicant'].pid") wireless_add_process "$supplicant_pid" "/usr/sbin/wpa_supplicant" 1 1 return $ret -- cgit v1.2.3