diff options
author | Chris Larson <clarson@kergoth.com> | 2004-12-09 09:47:41 +0000 |
---|---|---|
committer | Chris Larson <clarson@kergoth.com> | 2004-12-09 09:47:41 +0000 |
commit | 2c5b8ec6d95cf68650265941530e5ce38c8dd6d9 (patch) | |
tree | bf879bea7ef8517ba8c3d1286ef300401d3d484c /glibc/glibc-2.3.2/syslog-backrev.patch | |
parent | 101e2f1623def0a355d20aacb8bd93810703e834 (diff) |
Merge oe-devel@oe-devel.bkbits.net:openembedded
into hyperion.kergoth.com:/home/kergoth/code/openembedded
2004/12/09 03:39:39-06:00 kergoth.com!kergoth
Break people's builds again.. this time moving the packages into a packages/ subdir to clean things up a bit.
BKrev: 41b81f3dvlp3rU7_8MUXLcI8LDdDoA
Diffstat (limited to 'glibc/glibc-2.3.2/syslog-backrev.patch')
-rw-r--r-- | glibc/glibc-2.3.2/syslog-backrev.patch | 212 |
1 files changed, 0 insertions, 212 deletions
diff --git a/glibc/glibc-2.3.2/syslog-backrev.patch b/glibc/glibc-2.3.2/syslog-backrev.patch deleted file mode 100644 index a3bed2e302..0000000000 --- a/glibc/glibc-2.3.2/syslog-backrev.patch +++ /dev/null @@ -1,212 +0,0 @@ ---- misc/syslog.c 2003-07-17 22:14:44.000000000 +0000 -+++ /skole/tjener/home0/jbailey/cvstree/libc/misc/syslog.c 2003-07-17 22:05:59.000000000 +0000 -@@ -41,7 +41,6 @@ - #include <fcntl.h> - #include <paths.h> - #include <stdio.h> --#include <stdio_ext.h> - #include <string.h> - #include <time.h> - #include <unistd.h> -@@ -75,27 +74,9 @@ - static void openlog_internal(const char *, int, int) internal_function; - static void closelog_internal(void); - static void sigpipe_handler (int); -- -- --struct cleanup_arg --{ -- void *buf; -- struct sigaction *oldaction; --}; -- --static void --cancel_handler (void *ptr) --{ -- /* Restore the old signal handler. */ -- struct cleanup_arg *clarg = (struct cleanup_arg *) ptr; -- -- if (clarg != NULL && clarg->oldaction != NULL) -- __sigaction (SIGPIPE, clarg->oldaction, NULL); -- -- /* Free the lock. */ -- __libc_lock_unlock (syslog_lock); --} -- -+#ifdef _LIBC_REENTRANT -+static void cancel_handler (void *); -+#endif - - /* - * syslog, vsyslog -- -@@ -137,6 +118,7 @@ - size_t bufsize = 0; - size_t prioff, msgoff; - struct sigaction action, oldaction; -+ struct sigaction *oldaction_ptr = NULL; - int sigpipe; - int saved_errno = errno; - char failbuf[3 * sizeof (pid_t) + sizeof "out of memory []"]; -@@ -183,7 +165,6 @@ - } - else - { -- __fsetlocking (f, FSETLOCKING_BYCALLER); - prioff = fprintf (f, "<%d>", pri); - (void) time (&now); - #ifdef USE_IN_LIBIO -@@ -201,12 +182,9 @@ - if (LogTag != NULL) - fputs_unlocked (LogTag, f); - if (LogStat & LOG_PID) -- fprintf (f, "[%d]", (int) __getpid ()); -+ fprintf (f, "[%d]", __getpid ()); - if (LogTag != NULL) -- { -- putc_unlocked (':', f); -- putc_unlocked (' ', f); -- } -+ putc_unlocked (':', f), putc_unlocked (' ', f); - - /* Restore errno for %m format. */ - __set_errno (saved_errno); -@@ -234,22 +212,16 @@ - v->iov_base = (char *) "\n"; - v->iov_len = 1; - } -- -- __libc_cleanup_push (free, buf); -- -- /* writev is a cancellation point. */ - (void)__writev(STDERR_FILENO, iov, v - iov + 1); -- -- __libc_cleanup_pop (0); - } - -+#ifdef _LIBC_REENTRANT - /* Prepare for multiple users. We have to take care: open and - write are cancellation points. */ -- struct cleanup_arg clarg; -- clarg.buf = buf; -- clarg.oldaction = NULL; -- __libc_cleanup_push (cancel_handler, &clarg); -+ __libc_cleanup_region_start (1, (void (*) (void *)) cancel_handler, -+ &oldaction_ptr); - __libc_lock_lock (syslog_lock); -+#endif - - /* Prepare for a broken connection. */ - memset (&action, 0, sizeof (action)); -@@ -257,7 +229,7 @@ - sigemptyset (&action.sa_mask); - sigpipe = __sigaction (SIGPIPE, &action, &oldaction); - if (sigpipe == 0) -- clarg.oldaction = &oldaction; -+ oldaction_ptr = &oldaction; - - /* Get connected, output the message to the local logger. */ - if (!connected) -@@ -299,9 +271,11 @@ - if (sigpipe == 0) - __sigaction (SIGPIPE, &oldaction, (struct sigaction *) NULL); - -+#ifdef _LIBC_REENTRANT - /* End of critical section. */ -- __libc_cleanup_pop (0); -+ __libc_cleanup_region_end (0); - __libc_lock_unlock (syslog_lock); -+#endif - - free (buf); - } -@@ -309,7 +283,6 @@ - - static struct sockaddr SyslogAddr; /* AF_UNIX address of local logger */ - -- - static void - internal_function - openlog_internal(const char *ident, int logstat, int logfac) -@@ -339,9 +312,8 @@ - == -1) - { - int saved_errno = errno; -- int fd = LogFile; -+ (void)__close(LogFile); - LogFile = -1; -- (void)__close(fd); - if (LogType == SOCK_DGRAM - && saved_errno == EPROTOTYPE) - { -@@ -357,16 +329,28 @@ - } - } - -+ -+static void -+log_cleanup (void *arg) -+{ -+ __libc_lock_unlock (syslog_lock); -+} -+ - void - openlog (const char *ident, int logstat, int logfac) - { -- /* Protect against multiple users and cancellation. */ -- __libc_cleanup_push (cancel_handler, NULL); -+#ifdef _LIBC_REENTRANT -+ /* Protect against multiple users. */ -+ __libc_cleanup_region_start (1, log_cleanup, NULL); - __libc_lock_lock (syslog_lock); -+#endif - - openlog_internal (ident, logstat, logfac); - -- __libc_cleanup_pop (1); -+#ifdef _LIBC_REENTRANT -+ /* Free the lock. */ -+ __libc_cleanup_region_end (1); -+#endif - } - - static void -@@ -389,17 +373,36 @@ - void - closelog () - { -- /* Protect against multiple users and cancellation. */ -- __libc_cleanup_push (cancel_handler, NULL); -+#ifdef _LIBC_REENTRANT -+ /* Protect against multiple users. */ -+ __libc_cleanup_region_start (1, log_cleanup, NULL); - __libc_lock_lock (syslog_lock); -+#endif - - closelog_internal (); - LogTag = NULL; - LogType = SOCK_DGRAM; /* this is the default */ - -+#ifdef _LIBC_REENTRANT -+ /* Free the lock. */ -+ __libc_cleanup_region_end (1); -+#endif -+} -+ -+#ifdef _LIBC_REENTRANT -+static void -+cancel_handler (void *ptr) -+{ -+ /* Restore the old signal handler. */ -+ struct sigaction *oldaction = *((struct sigaction **) ptr); -+ -+ if (oldaction != (struct sigaction *) NULL) -+ __sigaction (SIGPIPE, oldaction, (struct sigaction *) NULL); -+ - /* Free the lock. */ -- __libc_cleanup_pop (1); -+ __libc_lock_unlock (syslog_lock); - } -+#endif - - /* setlogmask -- set the log mask level */ - int |