From: Sam S. <sd...@gn...> - 2002-03-02 20:40:22
|
> * In message <20020302132845.A2993@localhost.localdomain> > * On the subject of "Re: [clisp-list] Relatively new to Clisp" > * Sent on Sat, 2 Mar 2002 13:28:45 +0100 > * Honorable Peter Wood <pet...@wo...> writes: > > There is not actually much to the W* macros. So I'm not sure its > worth adding them to linux.lisp. I did anyway. (defun mesg (&rest fmt-args) (format t "~&[~d] " (linux:getpid)) (apply #'format t fmt-args)) (defun test-wait2 () (let ((pid (linux:fork))) (cond ((= pid -1) (error "fork failed")) ((/= pid 0) (mesg "Started child ~d~%" pid) (multiple-value-bind (childpid status) (linux:wait) (mesg "Child ~d has finished~%" childpid) (if (zerop (logand status #x7f)) (mesg "with exit code=~a~%" (linux:WEXITSTATUS status)) (mesg "Child bombed ~d / ~d~%" (linux:WTERMSIG status) (linux:WEXITSTATUS status))))) (t (sleep 1) ; let dad go first (mesg "Hello, Pop (~d), I am ~d~%" (linux:getppid) (linux:getpid)) (linux:exit 37))))) (test-wait2) [17857] Started child 17858 [17858] Hello, Pop (17857), I am 17858 [17857] Child 17858 has finished [17857] with exit code=37 thanks! -- Sam Steingold (http://www.podval.org/~sds) running RedHat7.2 GNU/Linux Keep Jerusalem united! <http://www.onejerusalem.org/Petition.asp> Read, think and remember! <http://www.iris.org.il> <http://www.memri.org/> If Perl is the solution, you're solving the wrong problem. - Erik Naggum |