summaryrefslogtreecommitdiff
path: root/libc/misc/syslog/syslog.c
AgeCommit message (Collapse)Author
2009-12-13syslog: use send(MSG_NOSIGNAL) instead of write, thus no need to handle SIGPIPEDenys Vlasenko
Size changes by this and previous change: text data bss dec hex filename 1151 13 2 1166 48e libc/misc/syslog/syslog.o 1093 10 2 1105 451 libc/misc/syslog/syslog.o 1047 10 2 1059 423 libc/misc/syslog/syslog.o Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-13syslog: fix openlog(xx, LOG_KERN) and optimize a bitDenys Vlasenko
The fix: logfac == 0 in openlog(xx, logfac) is allowed now. Corresponding internal openlog() call in vsyslog() uses explicit LOG_USER in order to set it as a default facility. Optimizations: mylock is not recursive now, since a single intenal call of openlog is converted to a call to openlog_internal which assumes that lock is already taken. No recursive locking is possible now. LogFacility is reduced to byte. cache static LogFile in auto variable fd (smaller code). vsyslog with bogus pri parameter wouldn't lock/unlock and mess with signals - it will just return at once. pass NULL as ident string in internal openlog call - same effect as passing LogTag but smaller code. comment out "if (LogTag)" checks - it is never NULL. use the same struct sigaction for setting new sigaction and for saving old one - saves ~32 bytes of stack. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-18trim Experimentally off and uncommented hiddenBernhard Reutner-Fischer
sed -i -e '/Experimentally off - /d' $(grep -rl "Experimentally off - " *) sed -i -e '/^\/\*[[:space:]]*libc_hidden_proto(/d' $(grep -rl "libc_hidden_proto" *) should be a nop Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-09-05math.h: fix trivial typo (missing !): !defined __NO_LONG_DOUBLE_MATHDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2008-12-01on Bernd's request, remove commented-out code snippetsDenis Vlasenko
2008-12-01optimize signal mask ops. comment out "impossible" errorsDenis Vlasenko
text data bss dec hex filename - 1179 13 2 1194 4aa libc/misc/syslog/syslog.o + 1165 13 2 1180 49c libc/misc/syslog/syslog.o - 435 4 0 439 1b7 libc/pwd_grp/lckpwdf.o + 393 4 0 397 18d libc/pwd_grp/lckpwdf.o - 38 0 0 38 26 libc/signal/sigandset.o + 32 0 0 32 20 libc/signal/sigandset.o - 63 0 0 63 3f libc/signal/sigblock.o + 56 0 0 56 38 libc/signal/sigblock.o - 22 0 0 22 16 libc/signal/sigempty.o + 20 0 0 20 14 libc/signal/sigempty.o - 25 0 0 25 19 libc/signal/sigfillset.o + 20 0 0 20 14 libc/signal/sigfillset.o - 34 0 0 34 22 libc/signal/sigisempty.o + 16 0 0 16 10 libc/signal/sigisempty.o - 38 0 0 38 26 libc/signal/sigorset.o + 32 0 0 32 20 libc/signal/sigorset.o - 119 0 0 119 77 libc/signal/sigpause.o + 113 0 0 113 71 libc/signal/sigpause.o - 215 0 0 215 d7 libc/signal/sigset.o + 211 0 0 211 d3 libc/signal/sigset.o - 63 0 0 63 3f libc/signal/sigsetmask.o + 56 0 0 56 38 libc/signal/sigsetmask.o - 194 0 1 195 c3 libc/stdlib/abort.o + 183 0 1 184 b8 libc/stdlib/abort.o - 323 0 0 323 143 libc/unistd/sleep.o + 309 0 0 309 135 libc/unistd/sleep.o
2008-11-20Last portion of libc_hidden_proto removal.Denis Vlasenko
Appears to build fine (several .configs tried)
2008-11-20next portion of libc_hidden_proto removalDenis Vlasenko
2008-11-18libc_hidden_proto removal, just a few functionsDenis Vlasenko
2008-06-06Fix hard-to-rigger locking bug in vsyslog():Denis Vlasenko
SIGPIPE handler was attempting to re-acquire an already taken lock. While at it, stop checking for sigaction failure which is not possible here. Sizes: text data bss dec hex filename - 1123 13 2 1138 472 libc/misc/syslog/syslog.o + 1112 13 2 1127 467 libc/misc/syslog/syslog.o Run tested.
2008-06-03syslog.c: fix a buglet in prev-last commit: logic inversion in closelogDenis Vlasenko
2008-06-03syslog.c: fix indentation and style. No code changes.Denis Vlasenko
2008-06-03Fix bug 575 and other small problems noticed along the way.Denis Vlasenko
The bug: this blocks in syslogd is stopped: #include <syslog.h> int main() { int i; for (i = 0; i < 10000; i++) syslog(LOG_INFO, "Testing, disregard...................."); return 0; } Fix: set O_NONBLOCK on fd to "/dev/log". Other fixes: do not try to write to fd -1, do not spin forever or EAGAIN, use constant sockaddr instead of recreating identical one each time, eliminate one intermediate function (SUGPIPE sig handler), use smallints where appropriate, add a few comments. Size: text data bss dec hex filename - 1140 16 21 1177 499 libc/misc/syslog/syslog.o + 1123 13 2 1138 472 libc/misc/syslog/syslog.o
2008-05-30- shrink a little bit.Bernhard Reutner-Fischer
text data bss dec hex filename 1176 16 24 1216 4c0 libc/misc/syslog/syslog.o.orig 1140 16 21 1177 499 libc/misc/syslog/syslog.o
2008-05-19Moving libc_hidden_proto's into #ifdef UCLIBC_INTERNAL blockDenis Vlasenko
in string.h and strings.h. This caught unguarded string ops in libc/inet/ethers.c __ether_line_w() function. I will wait for fallout reports for a week or so, then continue converting more libc_hidden_proto's.
2008-04-28Experimentally move libc_hidden_proto(time) to time.h.Denis Vlasenko
The only code change observed is actually a case where we were not doing that as needed: 00000000 <__GI_tzset>: -53 push %ebx -e8 00 00 00 00 call 6 <__GI_tzset+0x6> -5b pop %ebx -81 c3 03 00 00 00 add $0x3,%ebx - R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 6a 00 push $0x0 -e8 fc ff ff ff call 10 <__GI_tzset+0x10> - R_386_PLT32 time +e8 fc ff ff ff call 3 <__GI_tzset+0x3> + R_386_PC32 __GI_time 3d ff 4e 98 45 cmp $0x45984eff,%eax 0f 9e c0 setle %al 0f b6 c0 movzbl %al,%eax 50 push %eax -e8 fc ff ff ff call 21 <__GI_tzset+0x21> +e8 fc ff ff ff call 14 <__GI_tzset+0x14> R_386_PC32 _time_tzset 58 pop %eax 5a pop %edx -5b pop %ebx c3 ret No mass migration of libc_hidden_proto(foo) planned. Lets wait for potential fallout first.
2008-01-05blah, enable the stupid hidden proto for fcntlMike Frysinger
2008-01-05krichy writes in 292:Mike Frysinger
I noticed, that in libc/misc/syslog/syslog.c when the syslog socket is opened, the close-on-exec flag is not set, as it is in gnu libc. This enables that behavior.
2006-12-07Major cleanup of internal mutex locking. Be more consistant in how we doEric Andersen
things, and avoid potential deadlocks caused when a thread holding a uClibc internal lock get canceled and terminates without releasing the lock. This change also provides a single place, bits/uClibc_mutex.h, for thread libraries to modify to change all instances of internal locking.
2006-01-22Enable _GNU_SOURCE build wide, trying to get consistent interfaces, else IMA ↵Peter S. Mazinger
is a useless attempt
2006-01-14hidden_def/hidden_proto: convert all users (I hope) termios split, add some ↵Peter S. Mazinger
missing headers, other jump relocs removed
2005-12-13Convert all users of earlier hiddensPeter S. Mazinger
2005-12-10fix warningMike Frysinger
2005-12-09Implement hidden poll, switch user to hidden *printf/*scanf/pollPeter S. Mazinger
2005-12-08mmap/mremap/socket/rewind gonePeter S. Mazinger
2005-12-08Convert the rest of users to hiddenPeter S. Mazinger
2005-12-08Reorder and remove prototypesPeter S. Mazinger
2005-12-06Add prototype for __time, #define time __time is not usable herePeter S. Mazinger
2005-12-06macro out the thread funcs in libc if threading is disabledMike Frysinger
2005-12-03More hiding, including __mempcpyPeter S. Mazinger
2005-12-01Hide mostly used functionsPeter S. Mazinger
2005-11-27Hide some of mem* and str*Peter S. Mazinger
2005-11-10Use strchr instead of index (BSD)Peter S. Mazinger
2005-04-16cbachman writes Bug 195:Mike Frysinger
Add back in the code which sets the default facility if none specified. This may cause issues with klogd when it tries to use the libc's syslog(), but klogd comes with its own syslog() implementation so that's a none issue. For more info, please see the following: http://sources.redhat.com/ml/libc-alpha/2000-03/msg00059.html
2005-01-11Jean writes:Eric Andersen
Hello, under some circumstances the following small example prints lots of garbage onto the console and into the syslog: #include <syslog.h> int main () { openlog("foo", LOG_CONS|LOG_NDELAY|LOG_PID|LOG_PERROR, LOG_DAEMON); syslog (LOG_WARNING, "mlock: %m"); return 1; } The reason is, that sprintf returns with -1 and vsyslog dumps the complete buffer onto stderr and the syslogd socket. The following patch would fix the problem:
2004-04-06Fix a bug noticed by Oleg I. Vdovikin, oleg at cs dot msu dot su.Eric Andersen
This code in uClibc would attempt to set the default facility if none was specified. Except none being specified is 0, which is also LOG_KERN, therefore klogd could never get kernel messages logged as LOG_KERN.
2003-12-27Fix a long-standing bug with pthreads. A couple of linuxthreads filesManuel Novoa III
were including libc-lock.h which had a bunch of weak pragmas. Also, uClibc supplied a number of no-op weak thread functions even though many weren't needed. This combined result was that sometimes the functional versions of thread functions in pthread would not override the weaks in libc. While fixing this, I also prepended double-underscore to all necessary weak thread funcs in uClibc, and removed all unused weaks. I did a test build, but haven't tested this since these changes are a backport from my working tree. I did test the changes there and no longer need to explicitly add -lpthread in the perl build for perl to pass its thread self tests.
2003-04-19Patch from Marshall M. Midden:Eric Andersen
It turns out that uClibc's syslog.c does not close sockets when doing retries and when it exits due to errors. This patch fixes it.
2002-09-10Patch from Tiago Marques <tmarques@viaconnect.inf.br> -- fall back toEric Andersen
using SOCK_STREAM if SOCK_DGRAM fails. -Erik
2002-07-10Tobias Anderberg <tobias.anderberg@axis.com> noticed thatEric Andersen
we were opening the socket() as SOCK_STREAM instead of using SOCK_DGRAM like we should have done.
2002-07-02Oops. missed a spotEric Andersen
-Erik
2002-07-02openlog could deadlock when called from vsyslog, soEric Andersen
allow recursive locking, -Erik
2002-06-18Fix thread locking so it worksEric Andersen
-Erik
2001-11-21Adjust naming for __FORCE_GLIBC__ to __FORCE_GLIBC and addEric Andersen
support for __FORCE_NOGLIBC per Brian Stafford <brian.stafford@office-logic.com>
2001-04-06Fix include/errno.h to not use kernel header, and instead use bits/errno.h.Eric Andersen
This required we use _LIBC instead of __LIBC__ to be consistent with glibc. This had some sideffects in sys/syscalls.h. While fixing things, I made everything use __set_errno() for (eventual) thread support. -Erik
2001-02-05Fix up the networking includesEric Andersen
-Erik
2001-01-15Make the implementation match the header file.Eric Andersen
2000-10-25A few more syscalls.Eric Andersen