Re: Threads killen

"jonnypichler - bse" <[email protected]> Wed, 14 May 2003 22:10:20 +0200
Newsgroups gmane.comp.lang.ruby.german
Message-ID <001301c31a54$d9075fa0$0100000a@server>
hi

ich hab recently mit ähnlichen problemen gekämpft...

was mich wundert: wie kannst du überhaupt die kill-methode aufrufen solange
das child läuft - meine erfahrung ist, dass bei einem system()-call dem
ruby-interpreter die kontrolle solange entzogen wird, bis der
system()-prozess terminiert ist, auch wenn dieser in einem thread gestartet
wird.
macht ja auch sinn, weil rubythreads ja nur ruby-internal sind (siehe dein
quellenverweis).
oder kommt das nur daher, dass ich ruby unter win32 und nicht unter linux
verwende?

zitat aus "programming ruby" hierzu:
...And if some thread happens to make a call to the operating system that
takes a long time to complete, all threads will hang until the interpreter
gets control back.

ich denke dieses "gets control back" geschieht erst durch das ende des
child-prozesses...

freue mich auf antwort,
patrick
___
ruby version i'm currently using:
ruby 1.6.8 (2002-12-24) [i686-cygwin]



----- Original Message ----- 
From: "Markus Walser" <[email protected]>
To: <[email protected]>
Sent: Wednesday, May 14, 2003 5:39 PM
Subject: [ruby-de] Threads killen


> Hallo
> Attached ist ein kleines Beispiel, welches leider nicht so funktioniert
wie ich
> mir das vorgestellt habe :-(
> Was im Buch "Programmieren mit Ruby" Seite 93 ueber Ruby Threads
geschrieben
> steht, hat sich leider bewahrheitet: Der Prozess, welcher mit system
gestartet wird,
> laeuft nach dem kill weiter. Selbst nach beenden des Ruby Skripts ist er
noch aktiv.
>
> Kennt da jemand einen Workaround oder weiss jemand wie man das sauber
machen
> muesste, damit der mit system gestartete Prozess durch den Aufruf von
Thread.kill
> auch beendet wird?
>
>
> Viele Gruesse, Markus
>