From 262b5730c044eda3faaea77e03716f0c522ee8e4 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 22 Feb 2005 23:11:01 +0000 Subject: * sysdeps/unix/sysv/linux/libc_fatal.c (__libc_message): Use non-cancelable I/O functions. --- sysdeps/unix/sysv/linux/libc_fatal.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'sysdeps/unix/sysv/linux/libc_fatal.c') diff --git a/sysdeps/unix/sysv/linux/libc_fatal.c b/sysdeps/unix/sysv/linux/libc_fatal.c index 88a1120dfa..c7fac6ab51 100644 --- a/sysdeps/unix/sysv/linux/libc_fatal.c +++ b/sysdeps/unix/sysv/linux/libc_fatal.c @@ -151,17 +151,18 @@ __libc_message (int do_abort, const char *fmt, ...) if (n > 2) { #define strnsize(str) str, strlen (str) - write (fd, strnsize ("======= Backtrace: =========\n")); +#define writestr(str) write_not_cancel (fd, str) + writestr (strnsize ("======= Backtrace: =========\n")); __backtrace_symbols_fd (addrs + 1, n - 1, fd); - write (fd, strnsize ("======= Memory map: ========\n")); - int fd2 = open ("/proc/self/maps", O_RDONLY); + writestr (strnsize ("======= Memory map: ========\n")); + int fd2 = open_not_cancel_2 ("/proc/self/maps", O_RDONLY); char buf[1024]; ssize_t n2; - while ((n2 = read (fd2, buf, sizeof (buf))) > 0) - if (write (fd, buf, n2) != n2) + while ((n2 = read_not_cancel (fd2, buf, sizeof (buf))) > 0) + if (write_not_cancel (fd, buf, n2) != n2) break; - close (fd2); + close_not_cancel_no_status (fd2); } } -- cgit v1.2.3