Re: Threads killen

"Florian G. Pflug" <[email protected]> Fri, 16 May 2003 01:57:23 +0200
Newsgroups gmane.comp.lang.ruby.german
Message-ID <[email protected]>
On Thu, May 15, 2003 at 09:07:32AM +0200, Mauricio Fernández wrote:
> > > Warum? Die Systemaufrufe sind alle "kurz" und Ruby muss nicht darauf
> > > warten...

> > Aber ruby ließt denke ich die standard-ausgabe des childs. Und normalerweise

> Nicht mit system, glaube ich; der Childprozess erbt die Standardausgabe
> Rubys und wird darin schreiben. Nur würde Ruby auf die Ausgabe warten,
> wenn Kernel::` (oder popen) benuztz wäre, aber noch in diesem Fall können
> andere Threads wegen der nichtblockierenden E/A weiter laufen (wie in
> deinem Mail angegeben).
da hast du recht... system ließ stdout vom child nicht, sondern das child
erb das stdout vom parent...

> > Ruby verwendet zwar non-blocking io, um dieses problem zu umgehen,
> > (siehe meine andere mail im gleichen (mail)thread) -
> > aber die gestellte frage macht schon sinn.
> 
> Sinn macht es ja, und die Antwort ist "Kernel::system blockiert die
> andere Threads nicht", oder?
Ja, sage ich auch..

die erste antwort klang bloß so, als würde ruby schon blocken (und zwar alle
threads), würde die ausgabe gelesen werden... 
Ich wollte da bloß klarstellen, daß das nicht so ist.... 

greetings, Florian Pflug