diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index b873c49a3..52fc5e375 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2005-10-24 Corinna Vinschen + + * spawn.cc (spawn_guts): Don't leave the function with return inside + pthread cleanup brackets. + 2005-10-24 Christopher Faylor * cygheap.h (cygheap_fdenum): Remove start_fd stuff. diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index b1cd0796a..352d408d1 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -546,7 +546,8 @@ spawn_guts (const char * prog_arg, const char *const *argv, { debug_printf ("Command line too long (>32K), return E2BIG"); set_errno (E2BIG); - return -1; + res = -1; + goto out; } } @@ -714,7 +715,8 @@ spawn_guts (const char * prog_arg, const char *const *argv, myself->sendsig = myself->exec_sendsig; myself->exec_sendsig = NULL; } - return -1; + res = -1; + goto out; } /* Fixup the parent data structures if needed and resume the child's