mirror of
https://github.com/esphome/esphome.git
synced 2026-09-16 01:28:39 +00:00
216cc47e4e0b1695d3645bcf450fd3d9b5b72478
readv() holds LWIP_LOCK for the entire scatter-gather operation and previously called read() internally, which would call wait_for_data_() → socket_delay() while the lock was held — blocking recv_fn() on RP2040. Extract read_locked_() with the state checks and copy logic. Both read() and readv() call wait_for_data_() before acquiring the lock, then use read_locked_() under the lock.
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
596 MiB
Languages
C++
55.8%
Python
43.6%
C
0.3%
JavaScript
0.2%
