Also, es geht um folgendes:
Ich habe ein spezielles Kernel Device im /dev-Verzeichnis auf das ich lesend Zugreife. Die Berechtigungen auf dem Device sind 777. Das Device ist ein einfaches Charakter-Device, das heisst ich kann mit einem simplen FileInputStream darauf zugreifen und auch lesen.
Das alles funktioniert ja schon ganz schoen, das macht auch grundsaetzlich keine Probleme, aber - das ganze soll in einem Thread in einer Schleife laufen und es soll deshalb immer ueberprueft werden, ob am device was zum lesen ist.
Dazu verwende ich einen BufferedReader mit read - wobei read blockiert bis was zum lesen ist. Das funktioniert auch - aber nur das erste Mal. Danach liefert read immer nur -1 und die Schleife hoert nicht mehr auf bzw. read blockiert nicht mehr.
Das ganze schaut als in etwa so aus:
Code: Alles auswählen
while ( true ) {
if ( reader.read( chars ) != -1 )
break;
}
mfg
cg