From: Gisle Sælensminde
Subject: CMUCL - fork and waitpid
Date: 
Message-ID: <slrnbdco4r.hci.gisle@apal.ii.uib.no>
n Sun Sparc, there is no multiprocessing in CMUCL, so I'm currently trying
to use fork() to start multiple processes instead. The problem is that when
the child process finish. Normally you then use waitpid() in the signal handler
for SIGCHLD to avoid the child process being a zombie. The problem is that
there is no waitpid in the unix package as far as I can see. Do I have to
import the waitpid call using FFI(alien) or is there another way to ensure
that forked processes are terminated correctly?



-- 
--
Gisle S�lensminde  
Computational biology unit, University of Bergen, Norway
Email: ·····@cbu.uib.no 
Biology easily has 500 years of exciting problems to work on. (Donald Knuth)

From: Raymond Toy
Subject: Re: CMUCL - fork and waitpid
Date: 
Message-ID: <4nr86h4g5h.fsf@edgedsp4.rtp.ericsson.se>
>>>>> "Gisle" == lensminde  <Gisle> writes:

    Gisle> for SIGCHLD to avoid the child process being a zombie. The
    Gisle> problem is that there is no waitpid in the unix package as
    Gisle> far as I can see. Do I have to import the waitpid call
    Gisle> using FFI(alien) or is there another way to ensure that
    Gisle> forked processes are terminated correctly?

Probably an oversight.  For now, you'll have to make your own waitpid
call with alien.

Ray
From: Helmut Eller
Subject: Re: CMUCL - fork and waitpid
Date: 
Message-ID: <m27k897e0l.fsf@stud3.tuwien.ac.at>
Gisle S�lensminde <·····@apal.ii.uib.no> writes:

>                                                        The problem is that
> there is no waitpid in the unix package as far as I can see. Do I have to
> import the waitpid call using FFI(alien) or is there another way to ensure
> that forked processes are terminated correctly?

There is a binding for wait3 in the EXT package.  I also suggest that
you study PROCESS-WAIT and the SIGCHLD handler in run-program.lisp;
perhaps you can reuse or extend it.

--helmut