Wpis z mikrobloga

Mirki z #programowanie w #cpp i #linux.
Mam taki problem, bo mam program w którym wszystko dzieje się w w wiecznej pętli for, która caly czas nasł#!$%@? na nowy sygnał i działa zgodnie z tym co odbierze, sygnał ten jednak pochodzi z innego urządzenia w postaci stanu 0 lub 1 i musi on działać/nasłuchiwać caly czas.

Chciałbym zakończyć ten program przy uzyciu jakiegokolwiek klawisza, ale moja wiedza programistyczna ogranicza się do tego, ze uzycie getchar/getch blokuje mi pętle i czeka na klawisz. Jak to można zaimplementować aby program pomimo wykonywania petli for, czekał także na klawisz? Wielowątkowość? Nie da się tego zrobić prosto?
Jak zakoncze program ctrl z to urządzenie pozostaje w trybie aktywnym i musze później robić manualnego killa procesu, a tego nie chce robić.
  • 6
@Blitzkrung @TheNewIcek: "sygnał" :) Po prostu pobieram informacje z raspberry pi za pomocą curla, i przypisuje ją do zmiennej . ifem sprawdzam, czy jest większa od poprzedniej. Jeśli tak wykonuje blok kodu, jeśli nie, pomijam ten blok i przechodzę do następnego obrotu pętli.
PS. Zle napisalem, nie zero i 1, ale robie na ifach, więc prawda albo fałsz ;)