From owner-freebsd-hackers@FreeBSD.ORG Thu Sep 8 20:02:05 2005 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1C65E16A41F for ; Thu, 8 Sep 2005 20:02:05 +0000 (GMT) (envelope-from victor.cruceru@gmail.com) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.204]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7712143D48 for ; Thu, 8 Sep 2005 20:02:04 +0000 (GMT) (envelope-from victor.cruceru@gmail.com) Received: by wproxy.gmail.com with SMTP id i12so1942987wra for ; Thu, 08 Sep 2005 13:02:03 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=XrldjxFrHiBskf+0EhMT80e2haGTVbM8fAACGF4ZTxx7Sj47mWO/tDxEP7LGM7bBhK78zTp3kchcwRApvt3h+VtNRqkCkKeV0YdGtquB26ZEw4veSmx0mzDhb1NAWnREOrVP/rredKJrdUmi3TnWwOUVM6l7UCNTjvWg3MuSAm4= Received: by 10.54.47.36 with SMTP id u36mr6858747wru; Thu, 08 Sep 2005 13:02:03 -0700 (PDT) Received: by 10.54.103.8 with HTTP; Thu, 8 Sep 2005 13:02:03 -0700 (PDT) Message-ID: <494025505090813027dc0d6d3@mail.gmail.com> Date: Thu, 8 Sep 2005 23:02:03 +0300 From: victor cruceru To: erkan kolemen In-Reply-To: <20050908194020.21635.qmail@web33415.mail.mud.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <20050908194020.21635.qmail@web33415.mail.mud.yahoo.com> Cc: freebsd-hackers@freebsd.org Subject: Re: fok() execve() -> No child processes X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: soc-victor@freebsd.org List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Sep 2005 20:02:05 -0000 Try to replace vfrork with fork and check if you'll get the same behavior. victor cruceru On 9/8/05, erkan kolemen wrote: > Following code fails. I debugged it and saw that: it > produces "No child processes" error while wait(). >=20 > 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. >=20 > is it possible... What can i do for that? >=20 > static int e_x_e_c(char *cmd[]) > { > pid_t pid; > int stat; >=20 > switch((pid =3D vfork())) { > case -1: > syslog(LOG_ERR, "fork: %s", > strerror(errno)); > return -16; > break; > case 0: > if(execve(cmd[0], cmd, NULL) > =3D=3D -1) { > syslog(LOG_ERR, > "execve: %s", strerror(errno)); > return -15; > } > break; > default: > if (wait(&stat) =3D=3D -1) { > slog(1, LOG_ERR); > return -14; > } >=20 > if (WIFSIGNALED(stat)) { > syslog(LOG_NOTICE, "%s > is signalled", cmdline[0]); > return -13; > } >=20 > if (WIFSTOPPED(stat)) { > syslog(LOG_NOTICE, "%s > is stopped", cmdline[0]); > return -12; > } >=20 > if (WIFEXITED(stat)) > return > WEXITSTATUS(stat); > break; > } > return -11; > } >=20 >=20 >=20 >=20 >=20 > ______________________________________________________ > Click here to donate to the Hurricane Katrina relief effort. > http://store.yahoo.com/redcross-donate3/ > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org= " >