This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Blocking in syslog
- From: Bin Chen <binary dot chen at gmail dot com>
- To: libc-alpha at sourceware dot org
- Date: Fri, 02 Feb 2007 14:07:57 +0800
- Subject: Blocking in syslog
Hi,
I am developing a multi-threading program in ARM platform, sometimes the
syslog get stuck and with the gdb, I found this:
(gdb) bt
#0 0x40027da4 in __pthread_sigsuspend (set=0xfffffffc) at
../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:53
#1 0x40027c30 in __pthread_wait_for_restart_signal (self=0xbf7ffbe0) at
pthread.c:1141
#2 0x40029918 in __pthread_alt_lock (lock=0x1be8c, self=0xbf7ffbe0) at
restart.h:34
#3 0x40025f64 in *__GI___pthread_mutex_lock (mutex=0x1be7c) at mutex.c:123
#4 0x0000bde8 in VoIPLog (fmt=0x11d78 "report_event.") at wifictrld.cpp:31
#5 0x0000be98 in report_event (event=1) at wifictrld.cpp:48
#6 0x0000ee84 in read_wifi_events (pData=0x1e948) at tiwlan.c:180
#7 0x400d30a0 in ?? ()
(gdb)
I have add a big lock in the beginning of VoIPLog, but this thing still
happen with randomness.
Any hints?
Thanks a lot.
ABAI