On 23 November 2012 16:19, Max Leske <[email protected]> wrote:
> I did some more digging and I found that I was wrong before: every child 
> process I create through NB is killed immediately and becomes a zombie 
> (that's why it ignored the kill). Once I had that information I implemented 
> the waitpid() call and can now cleanup my zombie children.
> This would also explain (at least to my mind) why the child code (pid = 0 
> ifTrue: [ … ]) is never executed.
>
> Now, my question is, who terminates my child processes?
>
> The processes are terminated with SIGABRT; all of the above also applies to 
> vfork(). I found that there's a crash report being generated for that aborted 
> process so I'm attaching it here, maybe you'll see something I missed.
>
> Max
>

i would start from here:

>
> Application Specific Information:
> *** multi-threaded process forked ***
> abort() called
>


http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them

damn... why unix (POSIX) kernels don't have spawn_exec() which spawns
a new process without need to do a fork() in current?


-- 
Best regards,
Igor Stasenko.

Reply via email to