diff -ruN squid-2.6.STABLE10/ChangeLog squid-2.6.STABLE11/ChangeLog
--- squid-2.6.STABLE10/ChangeLog	Sat Mar  3 11:43:44 2007
+++ squid-2.6.STABLE11/ChangeLog	Fri Mar 16 17:48:38 2007
@@ -1,3 +1,15 @@
+Changes to squid-2.6.STABLE11 (Mar 17 2007)
+
+	- Bug #1915: assertion failed: client_side.c:4055: "buf != NULL ||
+	  !conn->body.request"
+	- Handle garbage helper responses better in concurrent protocol format
+	- Fix kqueue when overflowing the changes queue
+	- Make sure the child worker process commits suicide if it could
+	  not start up
+	- Don't log short responses at debug level 1
+	- Fix bswap16 & bwsap32 error on NetBSD
+	- Fix collapsed_forwarding for non-GET requests
+
 Changes to squid-2.6.STABLE10 (Mar  4 2007)
 
 	- Upgrade HTTP/0.9 responses to our HTTP version (HTTP/1.0)
@@ -20,6 +32,7 @@
 	  the path
 	- Bug #1875, #1420. Cleanup of refresh logics when dealing with
 	  non-refreshable content
+	- Gopher cleanups and bugfixes
 	- Negotiate authentication fixed again. Broken since STABLE7 by the
 	  patch for Bug #1792.
 	- Bug #1892: COSS tries to shut down the same directory twice on exit
diff -ruN squid-2.6.STABLE10/RELEASENOTES.html squid-2.6.STABLE11/RELEASENOTES.html
--- squid-2.6.STABLE10/RELEASENOTES.html	Sat Mar  3 14:56:36 2007
+++ squid-2.6.STABLE11/RELEASENOTES.html	Fri Mar 16 17:52:07 2007
@@ -2,12 +2,12 @@
 <HTML>
 <HEAD>
  <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
- <TITLE>Squid 2.6.STABLE10 release notes</TITLE>
+ <TITLE>Squid 2.6.STABLE11 release notes</TITLE>
 </HEAD>
 <BODY>
-<H1>Squid 2.6.STABLE10 release notes</H1>
+<H1>Squid 2.6.STABLE11 release notes</H1>
 
-<H2>Squid Developers</H2>$Id: release-2.6.html,v 1.44.2.4 2007/03/03 21:37:29 hno Exp $
+<H2>Squid Developers</H2>$Id: release-2.6.html,v 1.44.2.5 2007/03/12 22:52:40 hno Exp $
 <HR>
 <EM>This document contains the release notes for version 2.6 of Squid.
 Squid is a WWW Cache application developed by the Web Caching community.</EM>
@@ -57,6 +57,9 @@
 <P>
 <H2><A NAME="toc15">15.</A> <A HREF="#s15">Key changes squid-2.6.STABLE9 to 2.6.STABLE10</A></H2>
 
+<P>
+<H2><A NAME="toc16">16.</A> <A HREF="#s16">Key changes squid-2.6.STABLE10 to 2.6.STABLE11</A></H2>
+
 
 <HR>
 <H2><A NAME="s1">1.</A> <A HREF="#toc1">Key changes from squid 2.5</A></H2>
@@ -67,10 +70,10 @@
 and transparent proxy requests to make it easier to configure transparent and 
 acceleration functionality.  The default behaviour is to function as a standard 
 HTTP proxy on each port that Squid is configured to listen on, but in addition 
-in this release the keywords "accelerated" and "transparent" can be specified 
+in this release the keywords "accel" and "transparent" can be specified 
 after each port to indicate to Squid the functionality that is to be enabled on 
 that port.  This means that the old config directives relating to httpd_accel_* 
-are now deprecated.</LI>
+are now deprecated. See below for more details about these options.</LI>
 <LI>WCCPv2 support multiple cache engines registering with multiple WCCP 
 routers and switches.  WCCPv2 is preferred over WCCPv1 for performance and 
 flexibility reasons if your router or switch is able to support it (all recent 
@@ -137,7 +140,7 @@
 <DL>
 <DT><B>http_port</B><DD><P>Now takes a list of options in addition to the port address, specifying the purpose of this http_port. Default is plain Internet proxy as usual.</P>
 <DT><B>httpd_accel_* for transparent proxy</B><DD><P>Now implemented by the "transparent" http_port option</P>
-<DT><B>httpd_accel_* for accelerator mode</B><DD><P>Nov implemented by other options. See individual directives below.</P>
+<DT><B>httpd_accel_* for accelerator mode</B><DD><P>Now implemented by other options and the http_port accel option. See individual directives below.</P>
 <DT><B>httpd_accel_host</B><DD><P>Replaced by defaultsite http_port option and cache_peer originserver option.</P>
 <DT><B>httpd_accel_port</B><DD><P>No longer needed. Server port defined by the cache_peer port.</P>
 <DT><B>httpd_accel_uses_host_header</B><DD><P>Replaced by vhost http_port option</P>
@@ -623,6 +626,23 @@
 <A HREF="ChangeLog">ChangeLog</A> file for details.</LI>
 </UL>
 </P>
+
+<H2><A NAME="s16">16.</A> <A HREF="#toc16">Key changes squid-2.6.STABLE10 to 2.6.STABLE11</A></H2>
+
+<P>
+<UL>
+<LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=1915">#1915</a>: assertion failed: client_side.c:4055: "buf != NULL ||
+!conn-&gt;body.request"</LI>
+<LI>Handle garbage helper responses better in concurrent protocol format</LI>
+<LI>Fix kqueue when overflowing the changes queue</LI>
+<LI>Make sure the child worker process commits suicide if it could not start up</LI>
+<LI>Don't log short responses at debug level 1</LI>
+<LI>See also the list of 
+<A HREF="http://www.squid-cache.org/Versions/v2/2.6/changesets/SQUID_2_6_STABLE11.html">squid-2.6.STABLE11 changes</A> and the 
+<A HREF="ChangeLog">ChangeLog</A> file for details.</LI>
+</UL>
+</P>
+
 
 </BODY>
 </HTML>
diff -ruN squid-2.6.STABLE10/configure squid-2.6.STABLE11/configure
--- squid-2.6.STABLE10/configure	Sat Mar  3 14:56:03 2007
+++ squid-2.6.STABLE11/configure	Fri Mar 16 17:51:34 2007
@@ -1,7 +1,7 @@
 #! /bin/sh
-# From configure.in Revision: 1.416.2.5 .
+# From configure.in Revision: 1.416.2.7 .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for Squid Web Proxy 2.6.STABLE10.
+# Generated by GNU Autoconf 2.59 for Squid Web Proxy 2.6.STABLE11.
 #
 # Report bugs to <http://www.squid-cache.org/bugs/>.
 #
@@ -270,8 +270,8 @@
 # Identity of this package.
 PACKAGE_NAME='Squid Web Proxy'
 PACKAGE_TARNAME='squid'
-PACKAGE_VERSION='2.6.STABLE10'
-PACKAGE_STRING='Squid Web Proxy 2.6.STABLE10'
+PACKAGE_VERSION='2.6.STABLE11'
+PACKAGE_STRING='Squid Web Proxy 2.6.STABLE11'
 PACKAGE_BUGREPORT='http://www.squid-cache.org/bugs/'
 
 ac_default_prefix=/usr/local/squid
@@ -781,7 +781,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Squid Web Proxy 2.6.STABLE10 to adapt to many kinds of systems.
+\`configure' configures Squid Web Proxy 2.6.STABLE11 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -847,7 +847,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Squid Web Proxy 2.6.STABLE10:";;
+     short | recursive ) echo "Configuration of Squid Web Proxy 2.6.STABLE11:";;
    esac
   cat <<\_ACEOF
 
@@ -1158,7 +1158,7 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-Squid Web Proxy configure 2.6.STABLE10
+Squid Web Proxy configure 2.6.STABLE11
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1172,7 +1172,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Squid Web Proxy $as_me 2.6.STABLE10, which was
+It was created by Squid Web Proxy $as_me 2.6.STABLE11, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1818,7 +1818,7 @@
 
 # Define the identity of the package.
  PACKAGE='squid'
- VERSION='2.6.STABLE10'
+ VERSION='2.6.STABLE11'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -15923,8 +15923,6 @@
 
 
 
-
-
 for ac_func in \
 	bcopy \
 	backtrace_symbols_fd \
@@ -15979,8 +15977,6 @@
 	syslog \
 	timegm \
 	vsnprintf \
-	bswap_16 \
-	bswap_32 \
 
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -18616,7 +18612,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by Squid Web Proxy $as_me 2.6.STABLE10, which was
+This file was extended by Squid Web Proxy $as_me 2.6.STABLE11, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18679,7 +18675,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-Squid Web Proxy config.status 2.6.STABLE10
+Squid Web Proxy config.status 2.6.STABLE11
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
diff -ruN squid-2.6.STABLE10/configure.in squid-2.6.STABLE11/configure.in
--- squid-2.6.STABLE10/configure.in	Sat Mar  3 14:56:03 2007
+++ squid-2.6.STABLE11/configure.in	Fri Mar 16 17:51:34 2007
@@ -1,16 +1,16 @@
 dnl
 dnl  Configuration input file for Squid
 dnl
-dnl  $Id: configure.in,v 1.416.2.5 2007/03/03 21:53:31 hno Exp $
+dnl  $Id: configure.in,v 1.416.2.7 2007/03/16 23:48:38 hno Exp $
 dnl
 dnl
 dnl
-AC_INIT(Squid Web Proxy, 2.6.STABLE10, http://www.squid-cache.org/bugs/, squid)
+AC_INIT(Squid Web Proxy, 2.6.STABLE11, http://www.squid-cache.org/bugs/, squid)
 AC_PREREQ(2.52)
 AM_CONFIG_HEADER(include/autoconf.h)
 AC_CONFIG_AUX_DIR(cfgaux)
 AM_INIT_AUTOMAKE
-AC_REVISION($Revision: 1.416.2.5 $)dnl
+AC_REVISION($Revision: 1.416.2.7 $)dnl
 AC_PREFIX_DEFAULT(/usr/local/squid)
 AM_MAINTAINER_MODE
 
@@ -2354,8 +2354,6 @@
 	syslog \
 	timegm \
 	vsnprintf \
-	bswap_16 \
-	bswap_32 \
 )
 
 SAVED_LIBS="$LIBS"
diff -ruN squid-2.6.STABLE10/include/autoconf.h.in squid-2.6.STABLE11/include/autoconf.h.in
--- squid-2.6.STABLE10/include/autoconf.h.in	Mon Feb  5 14:36:44 2007
+++ squid-2.6.STABLE11/include/autoconf.h.in	Mon Mar 12 20:36:39 2007
@@ -76,12 +76,6 @@
 /* Define to 1 if you have the <bstring.h> header file. */
 #undef HAVE_BSTRING_H
 
-/* Define to 1 if you have the `bswap_16' function. */
-#undef HAVE_BSWAP_16
-
-/* Define to 1 if you have the `bswap_32' function. */
-#undef HAVE_BSWAP_32
-
 /* Define to 1 if you have the <byteswap.h> header file. */
 #undef HAVE_BYTESWAP_H
 
diff -ruN squid-2.6.STABLE10/include/ntlmauth.h squid-2.6.STABLE11/include/ntlmauth.h
--- squid-2.6.STABLE10/include/ntlmauth.h	Tue May 17 10:56:35 2005
+++ squid-2.6.STABLE11/include/ntlmauth.h	Mon Mar 12 20:12:39 2007
@@ -1,5 +1,5 @@
 /*
- * $Id: ntlmauth.h,v 1.10 2005/05/17 16:56:35 hno Exp $
+ * $Id: ntlmauth.h,v 1.10.2.1 2007/03/13 02:12:39 hno Exp $
  *
  * * * * * * * * Legal stuff * * * * * * *
  *
@@ -70,10 +70,14 @@
 #define bswap16(x) bswap_16(x)
 #define bswap32(x) bswap_32(x)
 #else	 /* HAVE_BISTWAP_H */
+#ifndef bswap16
 #define bswap16(x) (((((u_int16_t)x) >> 8) & 0xff) | ((((u_int16_t)x) & 0xff) << 8))
+#endif
+#ifndef bswap32
 #define bswap32(x) \
     (((((u_int32_t)x) & 0xff000000) >> 24) | ((((u_int32_t)x) & 0x00ff0000) >>  8) | \
      ((((u_int32_t)x) & 0x0000ff00) <<  8) | ((((u_int32_t)x) & 0x000000ff) << 24))
+#endif
 #endif /* HAVE_BITSWAP_H */
 
 /* Used internally. Microsoft seems to think this is right, I believe them.
diff -ruN squid-2.6.STABLE10/include/version.h squid-2.6.STABLE11/include/version.h
--- squid-2.6.STABLE10/include/version.h	Sat Mar  3 14:56:03 2007
+++ squid-2.6.STABLE11/include/version.h	Fri Mar 16 17:51:34 2007
@@ -9,5 +9,5 @@
  */
 
 #ifndef SQUID_RELEASE_TIME
-#define SQUID_RELEASE_TIME 1172958959
+#define SQUID_RELEASE_TIME 1174089090
 #endif
diff -ruN squid-2.6.STABLE10/src/client_side.c squid-2.6.STABLE11/src/client_side.c
--- squid-2.6.STABLE10/src/client_side.c	Mon Feb 26 19:08:10 2007
+++ squid-2.6.STABLE11/src/client_side.c	Wed Mar 14 08:11:26 2007
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side.c,v 1.693.2.9 2007/02/27 02:08:10 hno Exp $
+ * $Id: client_side.c,v 1.693.2.11 2007/03/14 14:11:26 hno Exp $
  *
  * DEBUG: section 33    Client-side Routines
  * AUTHOR: Duane Wessels
@@ -3104,7 +3104,10 @@
     } else if ((done = clientCheckTransferDone(http)) != 0 || size == 0) {
 	debug(33, 5) ("clientWriteComplete: FD %d transfer is DONE\n", fd);
 	/* We're finished case */
-	if (!done) {
+	if (httpReplyBodySize(http->request->method, entry->mem_obj->reply) < 0) {
+	    debug(33, 5) ("clientWriteComplete: closing, content_length < 0\n");
+	    comm_close(fd);
+	} else if (!done) {
 	    debug(33, 5) ("clientWriteComplete: closing, !done\n");
 	    comm_close(fd);
 	} else if (clientGotNotEnough(http)) {
@@ -3441,7 +3444,7 @@
 	return;
     }
     http->entry = clientCreateStoreEntry(http, r->method, r->flags);
-    if (Config.onoff.collapsed_forwarding && r->flags.cachable && !r->flags.need_validation && (r->method = METHOD_GET || r->method == METHOD_HEAD)) {
+    if (Config.onoff.collapsed_forwarding && r->flags.cachable && !r->flags.need_validation && (r->method == METHOD_GET || r->method == METHOD_HEAD)) {
 	http->entry->mem_obj->refresh_timestamp = squid_curtime;
 	/* Set the vary object state */
 	safe_free(http->entry->mem_obj->vary_headers);
diff -ruN squid-2.6.STABLE10/src/comm_kqueue.c squid-2.6.STABLE11/src/comm_kqueue.c
--- squid-2.6.STABLE10/src/comm_kqueue.c	Mon Oct 23 05:22:21 2006
+++ squid-2.6.STABLE11/src/comm_kqueue.c	Mon Mar 12 16:23:04 2007
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm_kqueue.c,v 1.10 2006/10/23 11:22:21 hno Exp $
+ * $Id: comm_kqueue.c,v 1.10.2.1 2007/03/12 22:23:04 hno Exp $
  *
  * DEBUG: section 5     Socket Functions
  *
@@ -39,16 +39,17 @@
 #include <sys/event.h>
 #endif
 
-#define KE_LENGTH       128
+#define KE_QUEUE_STEP 128
 #define STATE_READ      1
 #define STATE_WRITE     2
 
 static int kq;
 static struct timespec zero_timespec;
-static struct kevent *kqlst;	/* kevent buffer */
+static struct kevent *kqlst;	/* change buffer */
+static struct kevent *ke;	/* event buffer */
 static int kqmax;		/* max structs to buffer */
 static int kqoff;		/* offset into the buffer */
-static unsigned *kqueue_state;	/* keep track of the kqueue state */
+static unsigned char *kqueue_state;	/* keep track of the kqueue state */
 
 static void
 do_select_init()
@@ -58,8 +59,9 @@
 	fatalf("comm_select_init: kqueue(): %s\n", xstrerror());
     fd_open(kq, FD_UNKNOWN, "kqueue ctl");
     commSetCloseOnExec(kq);
-    kqmax = getdtablesize();
+    kqmax = KE_QUEUE_STEP;
     kqlst = xmalloc(sizeof(*kqlst) * kqmax);
+    ke = xmalloc(sizeof(*ke) * kqmax);
     kqueue_state = xcalloc(Squid_MaxFD, sizeof(*kqueue_state));
     zero_timespec.tv_sec = 0;
     zero_timespec.tv_nsec = 0;
@@ -90,37 +92,38 @@
 commSetEvents(int fd, int need_read, int need_write)
 {
     struct kevent *kep;
-    int st_read = (kqueue_state[fd] & STATE_READ) != 0;
-    int st_write = (kqueue_state[fd] & STATE_WRITE) != 0;
+    int st_new = (need_read ? STATE_READ : 0) |
+    (need_write ? STATE_WRITE : 0);
+    int st_change;
 
     assert(fd >= 0);
-    debug(5, 8) ("commSetEvents(fd=%d)\n", fd);
+    debug(5, 8) ("commSetEvents(fd=%d, read=%d, write=%d)\n", fd, need_read, need_write);
 
+    st_change = kqueue_state[fd] ^ st_new;
+    if (!st_change)
+	return;
+
+    if (kqoff >= kqmax - 2) {
+	kqmax = kqmax + KE_QUEUE_STEP;
+	assert(kqmax < Squid_MaxFD * 4);
+	kqlst = xrealloc(kqlst, sizeof(*kqlst) * kqmax);
+	ke = xrealloc(ke, sizeof(*ke) * kqmax);
+    }
     kep = kqlst + kqoff;
 
-    if (need_read != st_read) {
+    if (st_change & STATE_READ) {
 	EV_SET(kep, (uintptr_t) fd, EVFILT_READ,
 	    need_read ? EV_ADD : EV_DELETE, 0, 0, 0);
 	kqoff++;
 	kep++;
     }
-    if (need_write != st_write) {
+    if (st_change & STATE_WRITE) {
 	EV_SET(kep, (uintptr_t) fd, EVFILT_WRITE,
 	    need_write ? EV_ADD : EV_DELETE, 0, 0, 0);
 	kqoff++;
 	kep++;
     }
-    kqueue_state[fd] = (need_read ? STATE_READ : 0) |
-	(need_write ? STATE_WRITE : 0);
-
-    if (kqoff >= kqmax - 2) {
-	if (kevent(kq, kqlst, kqoff, NULL, 0, &zero_timespec) == -1) {
-	    debug(5, 1) ("commSetEvents(): kevent() failed on fd=%d: %s\n",
-		fd, xstrerror());
-	    return;
-	}
-	kqoff = 0;
-    }
+    kqueue_state[fd] = st_new;
 }
 
 static int
@@ -128,14 +131,13 @@
 {
     int i;
     int num;
-    static struct kevent ke[KE_LENGTH];
     struct timespec timeout;
 
     timeout.tv_sec = msec / 1000;
     timeout.tv_nsec = (msec % 1000) * 1000000;
 
     statCounter.syscalls.polls++;
-    num = kevent(kq, kqlst, kqoff, ke, KE_LENGTH, &timeout);
+    num = kevent(kq, kqlst, kqoff, ke, kqmax, &timeout);
     kqoff = 0;
     if (num < 0) {
 	getCurrentTime();
@@ -171,5 +173,10 @@
 	}
     }
 
+    if (num >= kqmax) {
+	kqmax = kqmax + KE_QUEUE_STEP;
+	kqlst = xrealloc(kqlst, sizeof(*kqlst) * kqmax);
+	ke = xrealloc(ke, sizeof(*ke) * kqmax);
+    }
     return COMM_OK;
 }
diff -ruN squid-2.6.STABLE10/src/helper.c squid-2.6.STABLE11/src/helper.c
--- squid-2.6.STABLE10/src/helper.c	Fri Sep  8 13:41:24 2006
+++ squid-2.6.STABLE11/src/helper.c	Wed Mar 14 06:08:42 2007
@@ -1,6 +1,6 @@
 
 /*
- * $Id: helper.c,v 1.62 2006/09/08 19:41:24 serassio Exp $
+ * $Id: helper.c,v 1.62.2.2 2007/03/14 12:08:42 hno Exp $
  *
  * DEBUG: section 84    Helper process maintenance
  * AUTHOR: Harvest Derived?
@@ -752,11 +752,17 @@
 	    t[-1] = '\0';
 	*t++ = '\0';
 	if (hlp->concurrency) {
+	    errno = 0;
 	    i = strtol(msg, &msg, 10);
+	    if (msg == srv->rbuf || errno)
+		i = -1;
 	    while (*msg && isspace((int) *msg))
 		msg++;
 	}
-	r = srv->requests[i];
+	if ((!hlp->concurrency) || (i >= 0 && i < hlp->concurrency))
+	    r = srv->requests[i];
+	else
+	    r = NULL;
 	if (r) {
 	    srv->requests[i] = NULL;
 	    if (cbdataValid(r->data))
diff -ruN squid-2.6.STABLE10/src/http.c squid-2.6.STABLE11/src/http.c
--- squid-2.6.STABLE10/src/http.c	Mon Feb 26 15:41:46 2007
+++ squid-2.6.STABLE11/src/http.c	Mon Mar 12 16:27:09 2007
@@ -1,6 +1,6 @@
 
 /*
- * $Id: http.c,v 1.419.2.5 2007/02/26 22:41:46 hno Exp $
+ * $Id: http.c,v 1.419.2.6 2007/03/12 22:27:09 hno Exp $
  *
  * DEBUG: section 11    Hypertext Transfer Protocol (HTTP)
  * AUTHOR: Harvest Derived
@@ -721,7 +721,7 @@
     }
     /* Is it a incomplete reply? */
     if (httpState->chunk_size > 0) {
-	debug(11, 1) ("Short response on port %d. Expecting %" PRINTF_OFF_T " octets more\n", comm_local_port(fd), httpState->chunk_size);
+	debug(11, 2) ("Short response from '%s' on port %d. Expecting %" PRINTF_OFF_T " octets more\n", storeUrl(entry), comm_local_port(fd), httpState->chunk_size);
 	comm_close(fd);
 	return;
     }
diff -ruN squid-2.6.STABLE10/src/main.c squid-2.6.STABLE11/src/main.c
--- squid-2.6.STABLE10/src/main.c	Sat Feb  3 14:55:42 2007
+++ squid-2.6.STABLE11/src/main.c	Mon Mar 12 16:25:40 2007
@@ -1,6 +1,6 @@
 
 /*
- * $Id: main.c,v 1.393.2.1 2007/02/03 21:55:42 hno Exp $
+ * $Id: main.c,v 1.393.2.2 2007/03/12 22:25:40 hno Exp $
  *
  * DEBUG: section 1     Startup and Main Loop
  * AUTHOR: Harvest Derived
@@ -1013,6 +1013,7 @@
 	    argv[0] = xstrdup("(squid)");
 	    execvp(prog, argv);
 	    syslog(LOG_ALERT, "execvp failed: %s", xstrerror());
+	    exit(1);
 	}
 	/* parent */
 	openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
