Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Sep 2005 12:40:20 -0700 (PDT)
From:      erkan kolemen <erkankolemen@yahoo.com>
To:        freebsd-hackers@freebsd.org
Subject:   fok() execve() -> No child processes
Message-ID:  <20050908194020.21635.qmail@web33415.mail.mud.yahoo.com>

next in thread | raw e-mail | index | archive | help
Following code fails. I debugged it and saw that: it
produces "No child processes" error while wait().

is it possible, parent still is not start to wait but
child finished. After that CPU schedules parents. It
try to start wait but child has finished.

is it possible... What can i do for that?

static int e_x_e_c(char *cmd[])
{
        pid_t pid;
        int stat;

        switch((pid = vfork())) {
                case -1:
                        syslog(LOG_ERR, "fork: %s",
strerror(errno));
                        return -16;
                        break;
                case 0:
                        if(execve(cmd[0], cmd, NULL)
== -1) {
                                syslog(LOG_ERR,
"execve: %s", strerror(errno));
                                return -15;
                        }
                        break;
                default:
                        if (wait(&stat) == -1) {
                                slog(1, LOG_ERR);
                                return -14;
                        }

                        if (WIFSIGNALED(stat)) {
                                syslog(LOG_NOTICE, "%s
is signalled", cmdline[0]);
                                return -13;
                        }

                        if (WIFSTOPPED(stat)) {
                                syslog(LOG_NOTICE, "%s
is stopped", cmdline[0]);
                                return -12;
                        }

                        if (WIFEXITED(stat))
                                return
WEXITSTATUS(stat);
                        break;
        }
        return -11; 
}



	
		
______________________________________________________
Click here to donate to the Hurricane Katrina relief effort.
http://store.yahoo.com/redcross-donate3/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050908194020.21635.qmail>