This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][BZ #14782] Do not enable asynchronous cancelation in system


Hi,

When looking bugs another relatively easy one is that we do not need to
enable async cancellation in system.

We use cancellation to kill child process and we do not need enable
cancellation until we install handlers to kill a child process. A
cancellation needs to be only enabled in waidpid which already does
that.

OK for 2.20?

	* sysdeps/posix/system.c (__libc_system): Do not enable
	asynchronous cancellation.

diff --git a/sysdeps/posix/system.c b/sysdeps/posix/system.c
index de71e6b..e8b921f 100644
--- a/sysdeps/posix/system.c
+++ b/sysdeps/posix/system.c
@@ -181,15 +181,6 @@ __libc_system (const char *line)
        not be available after a chroot(), for example.  */
     return do_system ("exit 0") == 0;
 
-  if (SINGLE_THREAD_P)
-    return do_system (line);
-
-  int oldtype = LIBC_CANCEL_ASYNC ();
-
-  int result = do_system (line);
-
-  LIBC_CANCEL_RESET (oldtype);
-
-  return result;
+  return do_system (line);
 }
 weak_alias (__libc_system, system)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]