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 >