]> granicus.if.org Git - esp-idf/commit
mdns: fix possible race condition when checking DHCP status on WIFI_EVENT_STA_CONNECT...
authorDavid Cermak <cermak@espressif.com>
Tue, 8 Oct 2019 17:53:56 +0000 (19:53 +0200)
committerbot <bot@espressif.com>
Tue, 15 Oct 2019 07:07:00 +0000 (07:07 +0000)
commit7f410a0bcbafa85dba05807c53c3c38999506509
treea54c44a4c615e10baecdcc905dc3f6276dfe5254
parent7e3676f30732f0824205e578bbf56e0c4ae9e7c8
mdns: fix possible race condition when checking DHCP status on WIFI_EVENT_STA_CONNECTED event.

tcpip_adapter_dhcpc_get_status() returns the actual internal value of dhcp client without any locking or TCP/IP stack context call, so when CONNECTED event fired with default settings it started DHCP client in TCP/IP stack context and at the same time mdns event handler checking actual DHCP state, which could still be INIT (not STARTED). Purpose of this check is to enable PCB if DHCP was stopped before setting network interface up (typically static IP settings), so the solutin is to check against TCPIP_ADAPTER_DHCP_STOPPED state
components/mdns/mdns.c