Thread Frage zu sysread
(18 answers)
Opened by bianca at 2013-10-01 09:18
IO;:Handle ist ein wenig magisch und verleiht normalen Dateihandles zusätzliche objektorientierte Funktionen, dazu muss man das Modul aber explizit laden.
Auf den ersten Blick sieht der Code in Ordnung aus, wobei man bei einer realen Anwendung wohl in einer Schleife aus dem nicht-blockierenden Dateihandle lesen wollte, aber natürlich nur nach einer Prüfung durch poll(2), select(2), WaitForSingleObject(Win32), WaitForMultipleObjects(Win32) oder ähnliches, um Busy-Waiting zu vermeiden. Es wundert mich allerdings überhaupt nicht, dass das ganze unter Windoof nicht funktioniert, denn vermutlich setzt IO::Handle::blocking auf ioctl(2) auf, was garantiert unter Windoof genauso toll (= gar nicht ;-) funktioniert wie IO::Select auf Basis von select(2). When C++ is your hammer, every problem looks like your thumb.
|