From: Denis Vlasenko Date: Wed, 7 Mar 2007 22:16:38 +0000 (-0000) Subject: httpd: make httpd usable for NOMMU CPUs X-Git-Tag: 1_5_1~107 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=80281fefc032c3317d5709489aadb733f6fb0e30;p=oweals%2Fbusybox.git httpd: make httpd usable for NOMMU CPUs --- diff --git a/networking/httpd.c b/networking/httpd.c index ee408eb14..72b03de79 100644 --- a/networking/httpd.c +++ b/networking/httpd.c @@ -977,7 +977,20 @@ static int sendCgi(const char *url, if (pipe(toCgi) != 0) return 0; +/* + * Note: We can use vfork() here in the no-mmu case, although + * the child modifies the parent's variables, due to: + * 1) The parent does not use the child-modified variables. + * 2) The allocated memory (in the child) is freed when the process + * exits. This happens instantly after the child finishes, + * since httpd is run from inetd (and it can't run standalone + * in uClinux). + */ +#ifdef BB_NOMMU + pid = vfork(); +#else pid = fork(); +#endif if (pid < 0) return 0;