fxsdk/fxlink/tui
Lephenixnoir 85d7fcf9e9
libfxlink: fix race condition leading to lost messages
Basically if the calculator sends two messages in a row, it is possible
for a single libusb_handle_events() to get both. And the comm structure
wasn't designed for that, because it could buffer only one message at a
time, which the user needed to read after event handling.

The comm structure now has a 16-message buffer, which should be more
than enough for any single event handling loop. On the user level this
has implications in that fxlink_device_finish_bulk_IN() must be called
*in a loop* after each event handling cycle.

Reported in Lephenixnoir/gint#27
2024-03-24 19:25:35 +01:00
..
command-util.c fxlink: usable TUI command setup + gintctl test commands 2023-03-26 11:41:55 +02:00
command-util.h fxlink: usable TUI command setup + gintctl test commands 2023-03-26 11:41:55 +02:00
commands.c fxlink: usable TUI command setup + gintctl test commands 2023-03-26 11:41:55 +02:00
input.c fxlink: full rewrite; deeper device management and TUI 2023-03-03 00:29:00 +01:00
layout.c fxlink: full rewrite; deeper device management and TUI 2023-03-03 00:29:00 +01:00
render.c fxlink: full rewrite; deeper device management and TUI 2023-03-03 00:29:00 +01:00
tui-interactive.c libfxlink: fix race condition leading to lost messages 2024-03-24 19:25:35 +01:00
tui.h fxlink: usable TUI command setup + gintctl test commands 2023-03-26 11:41:55 +02:00