OSDN Git Service

* fork.cc (frok::parent): Simplify error messages. Don't issue an error when
authorcgf <cgf>
Fri, 30 Sep 2005 00:18:27 +0000 (00:18 +0000)
committercgf <cgf>
Fri, 30 Sep 2005 00:18:27 +0000 (00:18 +0000)
child.remember fails.
(fork): When appropriate, build up an error message from grouped.error.

winsup/cygwin/ChangeLog
winsup/cygwin/fork.cc

index 14d22c0..2966ad6 100644 (file)
@@ -1,3 +1,9 @@
+2005-09-29  Christopher Faylor  <cgf@timesys.com>
+
+       * fork.cc (frok::parent): Simplify error messages.  Don't issue an
+       error when child.remember fails.
+       (fork): When appropriate, build up an error message from grouped.error.
+
 2005-09-29  Corinna Vinschen  <corinna@vinschen.de>
 
        * fhandler_floppy.cc (fhandler_dev_floppy::get_drive_info): Don't call
index 64fd538..3381d12 100644 (file)
@@ -334,7 +334,7 @@ frok::parent (void *stack_here)
   if (forker_finished == NULL)
     {
       this_errno = geterrno_from_win_error ();
-      error = "child %d - unable to allocate forker_finished event, %E";
+      error = "unable to allocate forker_finished event";
       return -1;
     }
 
@@ -369,7 +369,7 @@ frok::parent (void *stack_here)
   if (!rc)
     {
       this_errno = geterrno_from_win_error ();
-      error = "child %d - CreateProcessA failed, %E";
+      error = "CreateProcessA failed";
       goto cleanup;
     }
 
@@ -389,7 +389,7 @@ frok::parent (void *stack_here)
     {
       this_errno = get_errno () == ENOMEM ? ENOMEM : EAGAIN;
 #ifdef DEBUGGING
-      error = "child %d - pinfo failed";
+      error = "pinfo failed";
 #else
       syscall_printf ("pinfo failed");
 #endif
@@ -425,8 +425,8 @@ frok::parent (void *stack_here)
     {
       TerminateProcess (pi.hProcess, 1);
       this_errno = EAGAIN;
-#ifdef DEBUGGING
-      error = "child %d - child.remember failed";
+#ifdef DEBUGGING0
+      error = "child.remember failed";
 #endif
       goto cleanup;
     }
@@ -439,7 +439,7 @@ frok::parent (void *stack_here)
   if (!ch.sync (child->pid, pi.hProcess, FORK_WAIT_TIMEOUT))
     {
       this_errno = EAGAIN;
-      error = "child %d - died waiting for longjmp before initialization";
+      error = "died waiting for longjmp before initialization";
       goto cleanup;
     }
 
@@ -485,7 +485,7 @@ frok::parent (void *stack_here)
        {
          this_errno = get_errno ();
 #ifdef DEBUGGING
-         error = "child %d - fork_copy for linked dll data/bss failed";
+         error = "fork_copy for linked dll data/bss failed";
 #endif
          goto cleanup;
        }
@@ -497,7 +497,7 @@ frok::parent (void *stack_here)
   else if (!ch.sync (child->pid, pi.hProcess, FORK_WAIT_TIMEOUT))
     {
       this_errno = EAGAIN;
-      error = "child %d died waiting for dll loading";
+      error = "died waiting for dll loading";
       goto cleanup;
     }
 
@@ -517,7 +517,7 @@ frok::parent (void *stack_here)
            {
              this_errno = get_errno ();
 #ifdef DEBUGGING
-             error = "child %d - copying data/bss for a loaded dll";
+             error = "copying data/bss for a loaded dll";
 #endif
              goto cleanup;
            }
@@ -589,9 +589,16 @@ fork ()
   else
     {
       if (!grouped.error)
-       syscall_printf ("fork failed - child pid %d", grouped.child_pid);
+       syscall_printf ("fork failed - child pid %d, errno %d", grouped.child_pid, grouped.this_errno);
       else
-       system_printf (grouped.error, grouped.child_pid);
+       {
+         char buf[strlen (grouped.error) + sizeof ("child %d - , errno 4294967295  ")];
+         strcpy (buf, "child %d - ");
+         strcat (buf, grouped.error);
+         strcat (buf, ", errno %d");
+         system_printf (buf, grouped.child_pid, grouped.this_errno);
+       }
+
       set_errno (grouped.this_errno);
     }
   syscall_printf ("%d = fork()", res);