Fixed a JS syntax problem in jumping-windows
[privoxy.git] / jcc.c
diff --git a/jcc.c b/jcc.c
index bd33037..35cec2d 100644 (file)
--- a/jcc.c
+++ b/jcc.c
@@ -1,4 +1,4 @@
-const char jcc_rcs[] = "$Id: jcc.c,v 1.92.2.11 2003/05/14 12:32:02 oes Exp $";
+const char jcc_rcs[] = "$Id: jcc.c,v 1.92.2.13 2003/11/27 19:20:27 oes Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/Attic/jcc.c,v $
@@ -33,6 +33,13 @@ const char jcc_rcs[] = "$Id: jcc.c,v 1.92.2.11 2003/05/14 12:32:02 oes Exp $";
  *
  * Revisions   :
  *    $Log: jcc.c,v $
+ *    Revision 1.92.2.13  2003/11/27 19:20:27  oes
+ *    Diagnostics: Now preserve the returncode of pthread_create
+ *    in errno. Closes BR #775721. Thanks to Geoffrey Hausheer.
+ *
+ *    Revision 1.92.2.12  2003/07/11 11:34:19  oes
+ *    No longer ignore SIGCHLD. Fixes bug #769381
+ *
  *    Revision 1.92.2.11  2003/05/14 12:32:02  oes
  *    Close jarfile on graceful exit, remove stray line
  *
@@ -1744,7 +1751,11 @@ static int32 server_thread(void *data)
 void usage(const char *myname)
 {
    printf("Privoxy version " VERSION " (" HOME_PAGE_URL ")\n"
+#if !defined(unix)
+           "Usage: %s [--help] [--version] [configfile]\n"
+#else
            "Usage: %s [--help] [--version] [--no-daemon] [--pidfile pidfile] [--user user[.group]] [configfile]\n"
+#endif
            "Aborting.\n", myname);
  
    exit(2);
@@ -1805,8 +1816,6 @@ int main(int argc, const char *argv[])
     */
    while (++argc_pos < argc)
    {
-#if !defined(_WIN32) || defined(_WIN_CONSOLE)
-
       if (strcmp(argv[argc_pos], "--help") == 0)
       {
          usage(argv[0]);
@@ -1818,11 +1827,13 @@ int main(int argc, const char *argv[])
          exit(0);
       }
 
-      else if (strcmp(argv[argc_pos], "--no-daemon" ) == 0)
+#if defined(unix)
+
+     else if (strcmp(argv[argc_pos], "--no-daemon" ) == 0)
       {
          no_daemon = 1;
       }
-#if defined(unix)
+
       else if (strcmp(argv[argc_pos], "--pidfile" ) == 0)
       {
          if (++argc_pos == argc) usage(argv[0]);
@@ -1854,9 +1865,10 @@ int main(int argc, const char *argv[])
       {
          do_chroot = 1;
       }
+
 #endif /* defined(unix) */
+
       else
-#endif /* defined(_WIN32) && !defined(_WIN_CONSOLE) */
       {
          configfile = argv[argc_pos];
       }
@@ -2315,8 +2327,9 @@ static void listen_loop(void)
 
             pthread_attr_init(&attrs);
             pthread_attr_setdetachstate(&attrs, PTHREAD_CREATE_DETACHED);
-            child_id = (pthread_create(&the_thread, &attrs,
-               (void*)serve, csp) ? -1 : 0);
+            errno = pthread_create(&the_thread, &attrs,
+               (void*)serve, csp);
+            child_id = errno ? -1 : 0;
             pthread_attr_destroy(&attrs);
          }
 #endif