about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-05-30 10:04:47 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-05-30 10:56:01 -0300
commit3e040a2d5f59c5494910bd6451b3dcb69221a047 (patch)
tree31709eb7994eba3d22802239b8b6c604aec003c3
parentc30c3f46a5f2e60639dab888c487397b579942e9 (diff)
downloadglibc-3e040a2d5f59c5494910bd6451b3dcb69221a047.tar.gz
glibc-3e040a2d5f59c5494910bd6451b3dcb69221a047.tar.xz
glibc-3e040a2d5f59c5494910bd6451b3dcb69221a047.zip
posix: Call _exit in failure case for posix_spawn{p} (BZ#20178)
This patch call _exit instead of exit in failure case for the spawned
child in Linux posix_spawn{p} implementation.

Tested on x86_64.

	[BZ #20178]
	* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Call _exit
	on failure instead of exit.
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/unix/sysv/linux/spawni.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 042fb893e2..a33eca3c77 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-05-30  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	[BZ #20178]
+	* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Call _exit
+	on failure instead of exit.
+
 2016-05-30  Roland McGrath  <roland@hack.frob.com>
 
 	[BZ #3629]
diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c
index ee05de5a9b..bb3eecfde1 100644
--- a/sysdeps/unix/sysv/linux/spawni.c
+++ b/sysdeps/unix/sysv/linux/spawni.c
@@ -288,7 +288,7 @@ fail:
   if (ret)
     while (write_not_cancel (p, &ret, sizeof ret) < 0)
       continue;
-  exit (SPAWN_ERROR);
+  _exit (SPAWN_ERROR);
 }
 
 /* Spawn a new process executing PATH with the attributes describes in *ATTRP.