Hi Ich versuche gerade in einen C Programm zu erkennen ob in eine Datei neue Daten zu lesen sind. Ich verwende dazu die Funktion poll (aus poll.h) und das geht sehr gut. Aber nun habe ich ein Character file vom evdev Treiber unter Linux welches man nicht einfach für poll verwenden kann. Gibt es da eine andere Möglichkeit um gezielt mit zubekommen wenn neue Daten vorhanden sind?!
Gast
#4762123
Harald S. schrieb: > Hi > Ich versuche gerade in einen C Programm zu erkennen ob in eine Datei > neue Daten zu lesen sind. Ich verwende dazu die Funktion poll (aus > poll.h) und das geht sehr gut. Aber nun habe ich ein Character file vom > evdev Treiber unter Linux welches man nicht einfach für poll verwenden > kann. Gibt es da eine andere Möglichkeit um gezielt mit zubekommen wenn > neue Daten vorhanden sind?! Ich meine mich zu erinnern, das man einfach non-blocking liest. Der Returncode sagt einem dann ob's Daten gab oder nicht.
Hast du select schon versucht?
Gast
#4762392
Harald A. schrieb: > Aber nun habe ich ein Character file vom evdev Treiber unter Linux > welches man nicht einfach für poll verwenden kann. Warum nicht?
Daniel A. schrieb: > Hast du select schon versucht? Er hat doch poll genommen, das ist doch im Prinzip ein verpackter select, oder?
Gast
#4763163
Bernhard M. schrieb: > Er hat doch poll genommen, das ist doch im Prinzip ein verpackter > select, oder? Eher umgekehrt, aber ja, poll() und select() tun im Prinzip das gleiche.
Documentation/input/input.txt sagt: > You can use blocking and nonblocking reads, also select() on the > /dev/input/eventX devices Was genau ist das Problem in deinem Code?
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.