diff options
author | Ondřej Bílka <neleai@seznam.cz> | 2014-01-14 16:07:50 +0100 |
---|---|---|
committer | Ondřej Bílka <neleai@seznam.cz> | 2014-01-15 18:39:21 +0100 |
commit | c4dd57c300aa05ab2f957d571c321237a58d0368 (patch) | |
tree | a05a45163a8d82986081e3abf07e2044c729f286 /sysdeps | |
parent | 7beb48cbb77ef32135a07b429838521a0c181377 (diff) | |
download | glibc-c4dd57c300aa05ab2f957d571c321237a58d0368.tar.gz glibc-c4dd57c300aa05ab2f957d571c321237a58d0368.tar.xz glibc-c4dd57c300aa05ab2f957d571c321237a58d0368.zip |
Do not enable asynchronous cancellation in system. Fixes bug 14782.
We needlessly enabled thread cancellation before it was necessary. As only call that needs to be guarded is waitpid which is cancellation point we could remove cancellation altogether.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/posix/system.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/sysdeps/posix/system.c b/sysdeps/posix/system.c index de71e6b661..e8b921febb 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) |