In einem Linux-Kernel-Treiber für char-Geräte soll die Kernel-Treiber-Funktion .read verwendet werden um entweder einen blockierenden oder einen nicht blockierenden Vorgang zu implementieren, abhängig vom O_NONBLOCK-Flag-Status des Dateideskriptors.
Aber was ist mit einer .read-Funktion des CUSE-Treibers, falls vorhanden? Keine Daten zum Lesen „noch“?
- Ist die .read-Funktion des CUSE-Treibers für die Implementierung sowohl des blockierenden als auch des nicht blockierenden Verhaltens verantwortlich, abhängig vom Dateideskriptor? O_NONBLOCK-Flag-Status?
- Wie kann die Funktion .read des CUSE-Treibers einen blockierenden Lesevorgang implementieren?