porting finch to uClinux on blackfin

Casey Harkins caseyharkins at gmail.com
Fri Oct 12 12:21:27 EDT 2007


Bill Fassler wrote:
> To be more specific, my current problem seems to be in the area of
> spawning child processes.  The application now uses vfork( ) to create
> a  child process for a DNS query.  This appears to go well and I obtain
> what looks like a valid PID, however when the code attempts to send
> the DNS request to the child it doesn't seem to exist. The errno
> seems to be "No Child Process".  Any idea why this might occur?

Without looking over the code, I'd say the problem is most likely that 
vfork() blocks the parent process. You're probably better off avoiding a 
vfork all together and doing this in the libpurple process. Otherwise, 
you've got to make sure the child process has everything it needs prior 
to the fork and figure out how to get a response back to the parent 
process from a child that won't exist by the time that code is executed.


-casey




More information about the Devel mailing list