Support SIGTSTP and task posting. (#331)

- Add support for SIGTSTP:
https://github.com/ArthurSonzogni/FTXUI/issues/330
This

- Add support for task posting.
This allows folks to defer function execution, and execute it directly
below the main loop. The task are executed in a FIFO order.
This commit is contained in:
Arthur Sonzogni
2022-02-13 11:11:34 +01:00
committed by GitHub
parent 62747a49b6
commit 9c4218c2a8
14 changed files with 165 additions and 94 deletions

View File

@@ -151,16 +151,16 @@ extern "C" int LLVMFuzzerTestOneInput(const char* data, size_t size) {
auto screen =
Screen::Create(Dimension::Fixed(width), Dimension::Fixed(height));
auto event_receiver = MakeReceiver<Event>();
auto event_receiver = MakeReceiver<Task>();
{
auto parser = TerminalInputParser(event_receiver->MakeSender());
for (size_t i = 0; i < size; ++i)
parser.Add(data[i]);
}
Event event;
Task event;
while (event_receiver->Receive(&event)) {
component->OnEvent(event);
component->OnEvent(std::get<Event>(event));
auto document = component->Render();
Render(screen, document);
}