Thanks Matthew,

now the problem moved to converting the simple "system" procedure to 
not-so-simple "subprocess" procedure. My poor little non-programmer brain 
overloaded after seeing the following :)

---

(subprocess     stdout   
                stdin    
                stderr   
                command  
                arg ...)         
        →               
subprocess?
(or/c (and/c input-port? file-stream-port?) #f)
(or/c (and/c output-port? file-stream-port?) #f)
(or/c (and/c input-port? file-stream-port?) #f)
  stdout : (or/c (and/c output-port? file-stream-port?) #f)
  stdin : (or/c (and/c input-port? file-stream-port?) #f)
  stderr : (or/c (and/c output-port? file-stream-port?) #f)
  command : path-string?
  arg : string?
(subprocess             stdout   
                stdin    
                stderr   
                command  
                exact    
                arg)     
        →               
subprocess?
(or/c (and/c input-port? file-stream-port?) #f)
(or/c (and/c output-port? file-stream-port?) #f)
(or/c (and/c input-port? file-stream-port?) #f)
  stdout : (or/c (and/c output-port? file-stream-port?) #f)
  stdin : (or/c (and/c input-port? file-stream-port?) #f)
  stderr : (or/c (and/c output-port? file-stream-port?) #f)
  command : path-string?
  exact : 'exact
  arg : string?

---

An example in the documentation would be helpful. I often find them easier to 
follow.

I can't seem to initiate an OS thread anymore, and instead mapping a single 
thread identifier to a variable, there are now four outputs to joggle with.

Any further tips 
 1) converting system->subprocess so that the custodian process would print out 
both output and errors?
 2) capturing the subrocess identifier so that I have something to kill? :)

br, jukka




> -----Original Message-----
> From: Matthew Flatt [mailto:mfl...@cs.utah.edu]
> Sent: 18 March 2011 13:53
> To: Jukka Tuominen
> Cc: users@racket-lang.org
> Subject: Re: [racket] racket and OS threads
> 
> 
> At Fri, 18 Mar 2011 13:40:02 +0200, "Jukka Tuominen" wrote:
> > (define loop
> >   (lambda ()
> >        (set! thread:child (thread (lambda () (system "gracket -f
> > \""...rlt\""))))
> >        (sleep 30)
> >        (kill-thread thread:child)
> >        (loop)))
> > 
> > 
> > But, eventhough the racket process ends as expected, the OS 
> process still
> > stays alive.
> > 
> > Is there a way to kill the OS process as well?
> 
> See `current-subprocess-custodian-mode'.
> 


_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

Reply via email to