about summary refs log tree commit diff
path: root/misc
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-07-16 11:44:36 +0000
committerUlrich Drepper <drepper@redhat.com>1998-07-16 11:44:36 +0000
commit50304ef0572fb41ba853262046dc7594f6a15241 (patch)
tree7bd5691f3d9acc632bdfcd61379cef9aeeb5b84b /misc
parente31cac9420203a4e01327eaffe1cc27f15463afb (diff)
downloadglibc-50304ef0572fb41ba853262046dc7594f6a15241.tar.gz
glibc-50304ef0572fb41ba853262046dc7594f6a15241.tar.xz
glibc-50304ef0572fb41ba853262046dc7594f6a15241.zip
Update.
1998-07-16 10:23  Ulrich Drepper  <drepper@cygnus.com>

	* argp/argp-fmtstream.c: Unify names of used global functions.
	* argp/argp-help.c: Likewise.
	* assert/assert-perr.c: Likewise
	* assert/assert.c: Likewise
	* dirent/scandir.c: Likewise
	* dirent/scandir64.c: Likewise
	* dirent/versionsort.c: Likewise
	* dirent/versionsort64.c: Likewise
	* gmon/bb_exit_func.c: Likewise.
	* gmon/gmon.c: Likewise.
	* grp/initgroups.c: Likewise.
	* iconv/gconv_conf.c: Likewise.
	* inet/getnameinfo.c: Likewise.
	* inet/getnetgrent_r.c: Likewise.
	* inet/inet_ntoa.c: Likewise.
	* inet/rcmd.c: Likewise.
	* inet/rexec.c: Likewise.
	* inet/ruserpass.c: Likewise.
	* io/fts.c: Likewise.
	* io/ftw.c: Likewise.
	* io/ftw64.c: Likewise.
	* io/getdirname.c: Likewise.
	* io/getwd.c: Likewise.
	* io/lockf.c: Likewise.
	* libio/iofdopen.c: Likewise.
	* libio/iopopen.c: Likewise.
	* login/utmp_daemon.c: Likewise.
	* malloc/mtrace.c: Likewise.
	* malloc/obstack.c
	* misc/daemon.c: Likewise.
	* misc/efgcvt_r.c: Likewise.
	* misc/err.c: Likewise.
	* misc/error.c: Likewise.
	* misc/fstab.c: Likewise.
	* misc/getpass.c: Likewise.
	* misc/getttyent.c: Likewise.
	* misc/mntent_r.c: Likewise.
	* misc/search.h: Likewise.
	* misc/syslog.c: Likewise.
	* nscd/nscd_getgr_r.c: Likewise.
	* nscd/nscd_getpw_r.c: Likewise.
	* posix/getpgrp.c: Likewise.
	* posix/wordexp.c: Likewise.
	* pwd/fgetpwent_r.c: Likewise.
	* pwd/getpw.c: Likewise.
	* resolv/herror.c: Likewise.
	* resolv/res_init.c: Likewise.
	* shadow/fgetspent_r.c: Likewise.
	* shadow/lckpwdf.c: Likewise.
	* signal/sigrelse.c: Likewise.
	* stdio-common/asprintf.c: Likewise.
	* stdio-common/dprintf.c: Likewise.
	* stdio-common/getw.c: Likewise.
	* stdio-common/putw.c: Likewise.
	* stdio-common/snprintf.c: Likewise.
	* stdio-common/sprintf.c: Likewise.
	* stdio-common/sscanf.c: Likewise.
	* stdlib/lrand48_r.c: Likewise.
	* stdlib/mrand48_r.c: Likewise.
	* string/argz-replace.c: Likewise.
	* string/envz.c: Likewise.
	* sunrpc/auth_des.c: Likewise.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/bindrsvprt.c: Likewise.
	* sunrpc/clnt_gen.c: Likewise.
	* sunrpc/clnt_perr.c: Likewise.
	* sunrpc/clnt_simp.c: Likewise.
	* sunrpc/clnt_tcp.c: Likewise.
	* sunrpc/clnt_udp.c: Likewise.
	* sunrpc/get_myaddr.c: Likewise.
	* sunrpc/key_call.c: Likewise.
	* sunrpc/netname.c: Likewise.
	* sunrpc/openchild.c: Likewise.
	* sunrpc/pmap_rmt.c: Likewise.
	* sunrpc/rpc_dtable.c: Likewise.
	* sunrpc/rtime.c: Likewise.
	* sunrpc/svc_run.c: Likewise.
	* sunrpc/svc_simple.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/svcauth_des.c: Likewise.
	* sunrpc/xdr_array.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_ref.c: Likewise.
	* sunrpc/xdr_stdio.c: Likewise.
	* sysdeps/generic/abort.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/fstatfs64.c: Likewise.
	* sysdeps/generic/ftruncate64.c: Likewise.
	* sysdeps/generic/getrlimit64.c: Likewise.
	* sysdeps/generic/glob.c: Likewise.
	* sysdeps/generic/prof-freq.c: Likewise.
	* sysdeps/generic/putenv.c: Likewise.
	* sysdeps/generic/statfs64.c: Likewise.
	* sysdeps/generic/ttyname_r.c: Likewise.
	* sysdeps/generic/utmp_file.c: Likewise.
	* sysdeps/generic/vlimit.c: Likewise.
	* sysdeps/generic/vtimes.c: Likewise.
	* sysdeps/posix/cuserid.c: Likewise.
	* sysdeps/posix/euidaccess.c: Likewise.
	* sysdeps/posix/mkstemp.c: Likewise.
	* sysdeps/posix/mktemp.c: Likewise.
	* sysdeps/posix/pread.c: Likewise.
	* sysdeps/posix/pread64.c: Likewise.
	* sysdeps/posix/profil.c: Likewise.
	* sysdeps/posix/pwrite.c: Likewise.
	* sysdeps/posix/pwrite64.c: Likewise.
	* sysdeps/posix/sigblock.c: Likewise.
	* sysdeps/posix/sigpause.c: Likewise.
	* sysdeps/posix/ttyname.c: Likewise.
	* sysdeps/posix/ttyname_r.c: Likewise.
	* sysdeps/posix/waitid.c: Likewise.
	* sysdeps/unix/getlogin_r.c: Likewise.
	* sysdeps/unix/grantpt.c: Likewise.
	* sysdeps/unix/rewinddir.c: Likewise.
	* sysdeps/unix/sysv/linux/gethostid.c: Likewise.
	* sysdeps/unix/sysv/linux/getpt.c: Likewise.
	* sysdeps/unix/sysv/linux/if_index.c: Likewise.
	* sysdeps/unix/sysv/linux/ptsname.c: Likewise.
	* sysdeps/unix/sysv/linux/sendmsg.c: Likewise.
	* sysdeps/unix/sysv/linux/statvfs.c: Likewise.
	* sysdeps/unix/sysv/linux/ttyname.c: Likewise.
	* sysdeps/unix/sysv/linux/ttyname_r.c: Likewise.
	* sysdeps/unix/sysv/linux/ulimit.c: Likewise.
	* sysdeps/unix/sysv/linux/unlockpt.c: Likewise.
	* sysvipc/sys/shm.h: Likewise.
	* time/ctime_r.c: Likewise.
	* time/strptime.c: Likewise.
	* wcsmbs/mbrlen.c: Likewise.
	* wcsmbs/wcsdup.c: Likewise.
	* wcsmbs/wcsxfrm.c: Likewise.
	* wctype/wcfuncs.c: Likewise.

	* sysdeps/unix/sysv/linux/i386/socker.S: Change to honor NO_WEAK_ALIAS.
	* sysdeps/unix/sysv/linux/accept.S: Don't generate __ name.
	* sysdeps/unix/sysv/linux/bind.S: Likewise.
	* sysdeps/unix/sysv/linux/getsockname.S: Likewise.
	* sysdeps/unix/sysv/linux/listen.S: Likewise.
	* sysdeps/unix/sysv/linux/recvfrom.S: Likewise.
	* sysdeps/unix/sysv/linux/sendto.S: Likewise.
	* sysdeps/unix/sysv/linux/setsockopt.S: Likewise.

	* grp/fgetgrent_r.c: Use explicit locking of the stream.

	* elf/Makefile (rtld-routines): Add dl-environ.
	* sysdeps/generic/dl-environ.c: New file.

	* libio/Makefile [REENTRANT] (routines): Add iofputs_u.
	* libio/Versions: Add fputs_unlocked.
	* libio/iofputs_u.c: New file.
	* libio/stdio.h: Add prototype for fputs_unlocked.

	* sunrpc/rpc/auth.h: Use __PMT instead of __P in type definitions.
	* sunrpc/rpc/clnt.h: Likewise.
	* sunrpc/rpc/pmap_clnt.h: Likewise.
	* sunrpc/rpc/svc.h: Likewise.
	* sunrpc/rpc/xdr.h: Likewise.

	* sysdeps/i386/memchr.S: Correct for more strict gas.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
	* sysdeps/libm-i387/i686/s_fdim.S: Likewise.
	* sysdeps/libm-i387/i686/s_fdimf.S: Likewise.
	* sysdeps/libm-i387/i686/s_fdiml.S: Likewise.

1998-07-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* configure.in: Change message for binutils version from
	2.8.1.0.17->2.8.1.0.23.

1998-07-15  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h: Define LOC.
	Patch by John Tobey <jtobey@banta-im.com>.
Diffstat (limited to 'misc')
-rw-r--r--misc/daemon.c16
-rw-r--r--misc/efgcvt_r.c2
-rw-r--r--misc/err.c15
-rw-r--r--misc/error.c4
-rw-r--r--misc/fstab.c14
-rw-r--r--misc/getpass.c19
-rw-r--r--misc/getttyent.c5
-rw-r--r--misc/mntent_r.c5
-rw-r--r--misc/search.h2
-rw-r--r--misc/syslog.c28
10 files changed, 73 insertions, 37 deletions
diff --git a/misc/daemon.c b/misc/daemon.c
index 6b3409cced..7bab9f5965 100644
--- a/misc/daemon.c
+++ b/misc/daemon.c
@@ -45,7 +45,7 @@ daemon(nochdir, noclose)
 {
 	int fd;
 
-	switch (fork()) {
+	switch (__fork()) {
 	case -1:
 		return (-1);
 	case 0:
@@ -54,18 +54,18 @@ daemon(nochdir, noclose)
 		_exit(0);
 	}
 
-	if (setsid() == -1)
+	if (__setsid() == -1)
 		return (-1);
 
 	if (!nochdir)
-		(void)chdir("/");
+		(void)__chdir("/");
 
-	if (!noclose && (fd = open(_PATH_DEVNULL, O_RDWR, 0)) != -1) {
-		(void)dup2(fd, STDIN_FILENO);
-		(void)dup2(fd, STDOUT_FILENO);
-		(void)dup2(fd, STDERR_FILENO);
+	if (!noclose && (fd = __open(_PATH_DEVNULL, O_RDWR, 0)) != -1) {
+		(void)__dup2(fd, STDIN_FILENO);
+		(void)__dup2(fd, STDOUT_FILENO);
+		(void)__dup2(fd, STDERR_FILENO);
 		if (fd > 2)
-			(void)close (fd);
+			(void)__close (fd);
 	}
 	return (0);
 }
diff --git a/misc/efgcvt_r.c b/misc/efgcvt_r.c
index 6434b9deea..64dcfcd7e9 100644
--- a/misc/efgcvt_r.c
+++ b/misc/efgcvt_r.c
@@ -87,7 +87,7 @@ APPEND (FUNC_PREFIX, fcvt_r) (value, ndigit, decpt, sign, buf, len)
     /* Value is Inf or NaN.  */
     *sign = 0;
 
-  n = snprintf (buf, len, "%.*" FLOAT_FMT_FLAG "f", ndigit, value);
+  n = __snprintf (buf, len, "%.*" FLOAT_FMT_FLAG "f", ndigit, value);
   if (n < 0)
     return -1;
 
diff --git a/misc/err.c b/misc/err.c
index 56ca808bcd..3482944271 100644
--- a/misc/err.c
+++ b/misc/err.c
@@ -1,5 +1,5 @@
 /* err.c --- 4.4BSD utility functions for error messages.
-   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -24,6 +24,11 @@
 #include <string.h>
 #include <stdio.h>
 
+#ifdef USE_IN_LIBIO
+# define flockfile(s) _IO_flockfile (s)
+# define funlockfile(s) _IO_funlockfile (s)
+#endif
+
 extern char *__progname;
 
 #define VA(call)							      \
@@ -37,11 +42,13 @@ extern char *__progname;
 void
 vwarnx (const char *format, __gnuc_va_list ap)
 {
+  flockfile (stderr);
   if (__progname)
     fprintf (stderr, "%s: ", __progname);
   if (format)
     vfprintf (stderr, format, ap);
-  putc ('\n', stderr);
+  putc_unlocked ('\n', stderr);
+  funlockfile (stderr);
 }
 
 void
@@ -49,15 +56,17 @@ vwarn (const char *format, __gnuc_va_list ap)
 {
   int error = errno;
 
+  flockfile (stderr);
   if (__progname)
     fprintf (stderr, "%s: ", __progname);
   if (format)
     {
       vfprintf (stderr, format, ap);
-      fputs (": ", stderr);
+      fputs_unlocked (": ", stderr);
     }
   __set_errno (error);
   fprintf (stderr, "%m\n");
+  funlockfile (stderr);
 }
 
 
diff --git a/misc/error.c b/misc/error.c
index 83998bb08b..ac6de324dd 100644
--- a/misc/error.c
+++ b/misc/error.c
@@ -76,6 +76,10 @@ unsigned int error_message_count;
 # define error __error
 # define error_at_line __error_at_line
 
+# ifdef USE_IN_LIBIO
+#  define fflush(s) _IO_fflush (s)
+# endif
+
 #else /* not _LIBC */
 
 /* The calling program should define program_name and set it to the
diff --git a/misc/fstab.c b/misc/fstab.c
index d241051ec9..a4d7aae0ca 100644
--- a/misc/fstab.c
+++ b/misc/fstab.c
@@ -102,7 +102,7 @@ endfsent ()
   state = &fstab_state;
   if (state->fs_fp != NULL)
     {
-      (void) endmntent (state->fs_fp);
+      (void) __endmntent (state->fs_fp);
       state->fs_fp = NULL;
     }
 }
@@ -134,7 +134,7 @@ fstab_init (int opt_rewind)
     }
   else
     {
-      fp = setmntent (_PATH_FSTAB, "r");
+      fp = __setmntent (_PATH_FSTAB, "r");
       if (fp == NULL)
 	return NULL;
       state->fs_fp = fp;
@@ -165,11 +165,11 @@ fstab_convert (struct fstab_state *state)
   f->fs_file = m->mnt_dir;
   f->fs_vfstype = m->mnt_type;
   f->fs_mntops = m->mnt_opts;
-  f->fs_type = (hasmntopt (m, FSTAB_RW) ? FSTAB_RW :
-		hasmntopt (m, FSTAB_RQ) ? FSTAB_RQ :
-		hasmntopt (m, FSTAB_RO) ? FSTAB_RO :
-		hasmntopt (m, FSTAB_SW) ? FSTAB_SW :
-		hasmntopt (m, FSTAB_XX) ? FSTAB_XX :
+  f->fs_type = (__hasmntopt (m, FSTAB_RW) ? FSTAB_RW :
+		__hasmntopt (m, FSTAB_RQ) ? FSTAB_RQ :
+		__hasmntopt (m, FSTAB_RO) ? FSTAB_RO :
+		__hasmntopt (m, FSTAB_SW) ? FSTAB_SW :
+		__hasmntopt (m, FSTAB_XX) ? FSTAB_XX :
 		"??");
   f->fs_freq = m->mnt_freq;
   f->fs_passno = m->mnt_passno;
diff --git a/misc/getpass.c b/misc/getpass.c
index 2caeb18668..0187ac4957 100644
--- a/misc/getpass.c
+++ b/misc/getpass.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 93, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,6 +20,11 @@
 #include <termios.h>
 #include <unistd.h>
 
+#ifdef USE_IN_LIBIO
+# define flockfile(s) _IO_flockfile (s)
+# define funlockfile(s) _IO_funlockfile (s)
+#endif
+
 /* It is desirable to use this bit on systems that have it.
    The only bit of terminal state we want to twiddle is echoing, which is
    done in software; there is no need to change the state of the terminal
@@ -52,9 +57,11 @@ getpass (prompt)
   else
     out = in;
 
+  flockfile (out);
+
   /* Turn echoing off if it is on now.  */
 
-  if (tcgetattr (fileno (in), &t) == 0)
+  if (__tcgetattr (fileno (in), &t) == 0)
     {
       /* Save the old one. */
       s = t;
@@ -66,8 +73,8 @@ getpass (prompt)
     tty_changed = 0;
 
   /* Write the prompt.  */
-  fputs (prompt, out);
-  fflush (out);
+  fputs_unlocked (prompt, out);
+  fflush_unlocked (out);
 
   /* Read the password.  */
   nread = __getline (&buf, &bufsize, in);
@@ -80,13 +87,15 @@ getpass (prompt)
 	buf[nread - 1] = '\0';
 	if (tty_changed)
 	  /* Write the newline that was not echoed.  */
-	  putc ('\n', out);
+	  putc_unlocked ('\n', out);
       }
 
   /* Restore the original setting.  */
   if (tty_changed)
     (void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s);
 
+  funlockfile (out);
+
   if (in != stdin)
     /* We opened the terminal; now close it.  */
     fclose (in);
diff --git a/misc/getttyent.c b/misc/getttyent.c
index e886e58b8e..dc4b9fadcb 100644
--- a/misc/getttyent.c
+++ b/misc/getttyent.c
@@ -40,6 +40,11 @@ static char sccsid[] = "@(#)getttyent.c	8.1 (Berkeley) 6/4/93";
 #include <ctype.h>
 #include <string.h>
 
+#ifdef USE_IN_LIBIO
+# define flockfile(s) _IO_flockfile (s)
+# define funlockfile(s) _IO_funlockfile (s)
+#endif
+
 static char zapchar;
 static FILE *tf;
 
diff --git a/misc/mntent_r.c b/misc/mntent_r.c
index 94b1d15c71..0ee74e5d9b 100644
--- a/misc/mntent_r.c
+++ b/misc/mntent_r.c
@@ -22,6 +22,11 @@
 #include <string.h>
 #include <sys/types.h>
 
+#ifdef USE_IN_LIBIO
+# define flockfile(s) _IO_flockfile (s)
+# define funlockfile(s) _IO_funlockfile (s)
+#endif
+
 /* Prepare to begin reading and/or writing mount table entries from the
    beginning of FILE.  MODE is as for `fopen'.  */
 FILE *
diff --git a/misc/search.h b/misc/search.h
index 2e11d8fb1c..323bb217c6 100644
--- a/misc/search.h
+++ b/misc/search.h
@@ -160,7 +160,7 @@ extern void twalk __PMT ((__const void *__root, __action_fn_t action));
 #ifdef __USE_GNU
 /* Callback type for function to free a tree node.  If the keys are atomic
    data this function should do nothing.  */
-typedef void (*__free_fn_t) __P ((void *__nodep));
+typedef void (*__free_fn_t) __PMT ((void *__nodep));
 
 /* Destroy the whole tree, call FREEFCT for each node or leaf.  */
 extern void __tdestroy __PMT ((void *__root, __free_fn_t freefct));
diff --git a/misc/syslog.c b/misc/syslog.c
index a1d6f5ce5b..d025f672e0 100644
--- a/misc/syslog.c
+++ b/misc/syslog.c
@@ -58,6 +58,10 @@ static char sccsid[] = "@(#)syslog.c	8.4 (Berkeley) 3/18/94";
 #include <varargs.h>
 #endif
 
+#ifdef USE_IN_LIBIO
+# define ftell(s) _IO_ftell (s)
+#endif
+
 static int	LogType = SOCK_DGRAM;	/* type of socket connection */
 static int	LogFile = -1;		/* fd for log */
 static int	connected;		/* have done connect */
@@ -152,11 +156,11 @@ vsyslog(pri, fmt, ap)
 	if (LogTag == NULL)
 	  LogTag = __progname;
 	if (LogTag != NULL)
-	  fputs (LogTag, f);
+	  fputs_unlocked (LogTag, f);
 	if (LogStat & LOG_PID)
-	  fprintf (f, "[%d]", getpid ());
+	  fprintf (f, "[%d]", __getpid ());
 	if (LogTag != NULL)
-	  putc (':', f), putc (' ', f);
+	  putc_unlocked (':', f), putc_unlocked (' ', f);
 
 	/* We have the header.  Print the user's format into the buffer.  */
 	vfprintf (f, fmt, ap);
@@ -175,7 +179,7 @@ vsyslog(pri, fmt, ap)
 		++v;
 		v->iov_base = (char *) "\n";
 		v->iov_len = 1;
-		(void)writev(STDERR_FILENO, iov, 2);
+		(void)__writev(STDERR_FILENO, iov, 2);
 	}
 
 	/* Prepare for multiple users.  We have to take care: open and
@@ -188,7 +192,7 @@ vsyslog(pri, fmt, ap)
  	memset (&action, 0, sizeof (action));
  	action.sa_handler = sigpipe_handler;
  	sigemptyset (&action.sa_mask);
- 	sigpipe = sigaction (SIGPIPE, &action, &oldaction);
+ 	sigpipe = __sigaction (SIGPIPE, &action, &oldaction);
 	if (sigpipe == 0)
 	  oldaction_ptr = &oldaction;
 
@@ -210,15 +214,15 @@ vsyslog(pri, fmt, ap)
 	     * is the one from the syslogd failure.
 	     */
 	    if (LogStat & LOG_CONS &&
-		(fd = open(_PATH_CONSOLE, O_WRONLY|O_NOCTTY, 0)) >= 0)
+		(fd = __open(_PATH_CONSOLE, O_WRONLY|O_NOCTTY, 0)) >= 0)
 	      {
 		dprintf (fd, "%s\r\n", buf + msgoff);
-		(void)close(fd);
+		(void)__close(fd);
 	      }
 	  }
 
 	if (sigpipe == 0)
-		sigaction (SIGPIPE, &oldaction, (struct sigaction *) NULL);
+		__sigaction (SIGPIPE, &oldaction, (struct sigaction *) NULL);
 
 	/* End of critical section.  */
 	__libc_cleanup_region_end (0);
@@ -248,7 +252,7 @@ openlog_internal(const char *ident, int logstat, int logfac)
 				if ((LogFile = __socket(AF_UNIX, LogType, 0))
 				    == -1)
 					return;
-				(void)fcntl(LogFile, F_SETFD, 1);
+				(void)__fcntl(LogFile, F_SETFD, 1);
 			}
 		}
 		if (LogFile != -1 && !connected)
@@ -258,7 +262,7 @@ openlog_internal(const char *ident, int logstat, int logfac)
 			    == -1)
 			{
 				int saved_errno = errno;
-				(void)close(LogFile);
+				(void)__close(LogFile);
 				LogFile = -1;
 				if (LogType == SOCK_DGRAM
 				    && saved_errno == EPROTOTYPE)
@@ -301,7 +305,7 @@ closelog_internal()
   if (!connected)
     return;
 
-  close (LogFile);
+  __close (LogFile);
   LogFile = -1;
   connected = 0;
   LogTag = NULL;
@@ -329,7 +333,7 @@ cancel_handler (void *ptr)
   struct sigaction *oldaction = *((struct sigaction **) ptr);
 
   if (oldaction != (struct sigaction *) NULL)
-    sigaction (SIGPIPE, oldaction, (struct sigaction *) NULL);
+    __sigaction (SIGPIPE, oldaction, (struct sigaction *) NULL);
 
   /* Free the lock.  */
   __libc_lock_unlock (syslog_lock);