home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.lisp
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!usc!rpi!batcomputer!cornell!raman
- From: raman@cs.cornell.edu (T. V. Raman)
- Subject: Trying to understand processes under lucid:
- Message-ID: <1993Jan5.195039.8245@cs.cornell.edu>
- Summary: Processes survive even after killing?
- Keywords: make-process kill-process survingsurviving processes
- Organization: Cornell Univ. CS Dept, Ithaca NY 14853
- Date: Tue, 5 Jan 1993 19:50:39 GMT
- Lines: 53
-
-
-
- Hi!
-
- I am trying to understand how multitasking works under Lucid Common
- Lisp and am not getting very far.
-
- After reading through the manual I tried:
-
- (setf *p1
- (make-process :name "play"
- :function #'(lambda(filename) (loop
- (when *continue*
- (play filename ))))
- :args (list *beep* )))
-
- play is a simple function which does:
-
- (shell
- (concatenate 'string
- "play -v 1 -h "
- file ))
-
- and *continue* is a global variable.
-
- Now when I evaluate the above setf form and then set *continue* to T
- lisp starts playing the sound file that *beep* points to.
-
- If I toggle the variable *continue* the sound stops, resumes if I
- toggle again.
-
- All this is as expected.
-
- However if I do
- (kill-process *p1 )
-
- and then do (process-state *p1)
- it shows up as :killed,
- but now here's the surprising thing:
- setting *continue* to T resumes the playing of the sound.
-
- So what's playing the sound if the process *p1 has been killed?
-
- And how do I get rid of *p1 entirely?
-
- Thanks,
-
- --Raman
- --
- T. V. Raman <raman@cs.cornell.edu>Tel: (607)255-9202 R 272-3649
- Office: 4116 Upson Hall,
- Department of Computer Science, Cornell University Ithaca NY 14853-6201
- Res: 226 Bryant Avenue Ithaca NY 14850
-