summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--wifi/wifi.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/wifi/wifi.c b/wifi/wifi.c
index cd9bf65..f669693 100644
--- a/wifi/wifi.c
+++ b/wifi/wifi.c
@@ -727,10 +727,10 @@ int wifi_ctrl_recv(int index, char *reply, size_t *reply_len)
}
if (rfds[0].revents & POLLIN) {
return wpa_ctrl_recv(monitor_conn[index], reply, reply_len);
- } else {
- return -2;
+ } else if (rfds[1].revents & POLLIN) {
+ wifi_close_sockets(index);
}
- return 0;
+ return -2;
}
int wifi_wait_on_socket(int index, char *buf, size_t buflen)
@@ -837,9 +837,9 @@ void wifi_close_supplicant_connection(const char *ifname)
* STA connection does not need it since supplicant gets shutdown
*/
TEMP_FAILURE_RETRY(write(exit_sockets[SECONDARY][0], "T", 1));
- wifi_close_sockets(SECONDARY);
- //closing p2p connection does not need a wait on
- //supplicant stop
+ /* p2p sockets are closed after the monitor thread
+ * receives the terminate on the exit socket
+ */
return;
}