Date: Wed, 14 Oct 1998 09:01:30 -0700 From: Mike Smith <mike@smith.net.au> To: Darren Whittaker <djw@sage1.sagecorp.com> Cc: Mike Smith <mike@smith.net.au>, freebsd-current@FreeBSD.ORG, john.young@openmarket.com Subject: Re: problem in 3.0 Message-ID: <199810141601.JAA01049@dingo.cdrom.com> In-Reply-To: Your message of "Wed, 14 Oct 1998 08:12:03 MDT." <Pine.SOL.3.93.981014080742.8720A-100000@sage1.sagecorp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Thank you for your email. I have taken your code and modified it to run as
> a cgi:
>
> #include <stdio.h>
> #include <err.h>
> #include <errno.h>
>
> int main(int argc, char *argv[])
> {
> int i, j;
> char buf[256];
> FILE *p;
>
> /* output the head */
> printf("Content-type: text/html\n");
> fflush(stdout);
> printf("\n<html><head><title>TESTING</title></head>");
> printf("<CENTER><H1>TESTING</CENTER></H1><HR>\n");
> printf("<body bgcolor=#ffffff><p><pre>\n");
> fflush(stdout);
>
> /* loop using popen */
> for (i = 0; i < 10; i++)
> {
> buf[0] = '\0';
> if ((p = popen("/bin/date", "r")) == NULL)
> {
> printf("popen error: %s\n",strerror(errno));
> continue;
> }
> fgets(buf, sizeof(buf) - 1, p);
> printf(buf);
>
> if ((j = pclose(p)) != 0)
> printf("pclose error: %s [%d]\n",strerror(j),j);
This is incorrect; it should read
if (pclose(p) == -1)
printf("pclose error: %s [%d]\n", strerror(errno), errno);
See the manpage for pclose().
> Here is some of the output when I run it from the web browser:
>
> Wed Oct 14 07:00:13 PDT 1998
> pclose error: No child processes [10]
...
> What do you think the problem might be?
A return value of 10 from pclose() is not an error; it's the exit code
of the child process. /bin/date does not appear to reliably set its
exit code.
--
\\ Sometimes you're ahead, \\ Mike Smith
\\ sometimes you're behind. \\ mike@smith.net.au
\\ The race is long, and in the \\ msmith@freebsd.org
\\ end it's only with yourself. \\ msmith@cdrom.com
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810141601.JAA01049>
