Commit Graph

11 Commits

Author SHA1 Message Date
Marius Vikhammer
c68bf37bf4 Merge branch 'fix/console_repl_busy_loop_v5.5' into 'release/v5.5'
fix(console): Avoid REPL task busy loop when linenoise returns NULL (v5.5)

See merge request espressif/esp-idf!48388
2026-05-15 16:15:41 +08:00
Konstantin Kondrashov
352ec04926 fix(console): Avoid REPL task busy loop when linenoise returns NULL
When the REPL input backend is unavailable, linenoise() may return NULL
immediately. esp_console_repl_task() currently retries without yielding,
which can make the console_repl task spin continuously.

For USB Serial/JTAG console this can happen when the REPL is started
without an attached USB host. Since the REPL task has priority 2, this
can starve lower-priority tasks, prevent app_main from continuing after
esp_console_start_repl(), and trigger the task watchdog due to IDLE not
running.

Add a small delay before retrying when linenoise() returns NULL.

Closes https://github.com/espressif/esp-idf/issues/18485
2026-05-14 11:01:39 +03:00
Guillaume Souchere
1e321718c0 feat(console): Add max_cmdline_args to esp_console_repl_config_t 2026-05-11 08:17:10 +02:00
Alexey Lapshin
7161408eb0 fix(console): add linenoise multithreading support for Picolibc 2026-02-05 13:40:08 +07:00
Guillaume Souchere
30f8b59ed0 feat(console): Make console deinit optional 2025-04-03 10:06:01 +02:00
Guillaume Souchere
8a89dc0b9c feat(vfs): Add linux target support for esp_vfs_eventfd 2025-04-03 10:06:01 +02:00
Guillaume Souchere
203b3b5a4e fix(console): Memory leaks after deinit 2025-04-03 10:06:01 +02:00
Guillaume Souchere
5b2f2e05f3 fix(console): add ability to unblock linenoise, to fix deadlock
Closes https://github.com/espressif/esp-idf/pull/10580
Closes https://github.com/espressif/esp-idf/issues/9974
2025-04-03 10:06:00 +02:00
Peter Dragun
8318adb448 fix: recommend using Windows Terminal in case of issues with escape sequences
Closes https://github.com/espressif/esp-idf-monitor/issues/17
2024-10-31 12:56:05 +01:00
Jakob Hasse
4d629be602 refactor(linux): Unified libbsd handling
* Users can now use libbsd string.h and sys/cdefs.h functionality
  (e.g., strlcpy, containerof) on Linux by just including
  string.h or sys/cdefs.h. In other words, the includes are the same
  on the Linux target as well as on chips targets (ESP32, etc.).
* libbsd linking is done by the linux component (belongs to common
  components) now instead of handling it separately in each component
2024-03-08 12:26:54 +08:00
Jakob Hasse
a30546cd24 feat(console): Refactored code to support Linux target 2024-01-29 17:13:22 +08:00