nichtblockierend lesen
am 31.07.2006 10:37:41 von Frank Kulow
Hallo NG,
open2( \*Reader, \*Writer, "xy.exe");
....
if(es_gibt_was_zu_lesen){... }
wie kann ich denn "es_gibt_was_zu_lesen" realisieren ohne zu blockieren?
Gruß Frank
Re: nichtblockierend lesen
am 31.07.2006 10:58:38 von Christian Lackas
* Frank Kulow [2006-07-31]:
Hallo Frank,
> open2( \*Reader, \*Writer, "xy.exe");
> if(es_gibt_was_zu_lesen){... }
> wie kann ich denn "es_gibt_was_zu_lesen" realisieren ohne zu blockieren?
entweder mit select überprüfen, ob es zu lesen da ist, oder O_NONBLOCK
per fcntl setzen, damit das lesen nicht mehr blockiert:
perldoc -f select
perldoc IO::Select
perldoc -f fcntl
fcntl(2)
Gruß
Christian
--
Morgens 'n Bit, abends fit.
http://www.lackas.net/ Perl Delphi Linux MP3 Searchengines Domainchecker
Re: nichtblockierend lesen
am 31.07.2006 14:05:14 von Frank Kulow
da hab ich wohl schlechte Karten oder?:
Cannot set GLOB(0x182f95c) to non-blocking mode: Bad file descriptor
$ perl -v
This is perl, v5.8.7 built for MSWin32-x86-multi-thread
das selbe script mit:
$ perl -v
This is perl, v5.8.7 built for cygwin-thread-multi-64int
tut's
Frank
Re: nichtblockierend lesen
am 31.07.2006 21:56:20 von Christian Lackas
* Frank Kulow [2006-07-31]:
Hallo Frank,
> Cannot set GLOB(0x182f95c) to non-blocking mode: Bad file descriptor
> $ perl -v
> This is perl, v5.8.7 built for MSWin32-x86-multi-thread
es gibt einen Grund, warum es neben Windows noch richtige
Betriebssysteme gibt.
> das selbe script mit:
> $ perl -v
> This is perl, v5.8.7 built for cygwin-thread-multi-64int
> tut's
Ja, O_NONBLOCK gibt es nur unter Windows. Bleibt dir nur die Variante
mit select.
Gruß
Christian
--
Ihr da Ohm, macht doch, Watt ihr Volt.
http://www.lackas.net/ Perl Delphi Linux MP3 Searchengines Domainchecker