|
From: jarek <ja...@po...> - 2013-02-26 08:46:19
|
Hello! I'm using valgrind for a long time, and usually I'm able to fix all warnings. But for a long time I have problem with conflict between syslog and PQexec. When I'm calling syslog in one thread, and PQexec in another, helgrind screams: ==2571== Possible data race during write of size 4 at 0xa0fdaf0 by thread #11 ==2571== at 0x4069015: ??? (in /usr/lib/libpq.so.5.2) ==2571== by 0x40696C0: ??? (in /usr/lib/libpq.so.5.2) ==2571== by 0x4060839: ??? (in /usr/lib/libpq.so.5.2) ==2571== by 0x405F655: PQgetResult (in /usr/lib/libpq.so.5.2) ==2571== by 0x405F91F: ??? (in /usr/lib/libpq.so.5.2) ..... ==2571== This conflicts with a previous write of size 4 by thread #10 ==2571== at 0x42AA028: __vsyslog_chk (syslog.c:217) ==2571== by 0x42AA4C6: syslog (syslog.c:119) ..... The application works fine, but I'd like to know how to fix it. I know, that I can create mutex for syslog and PQexec, but it seems strange... best regards Jarek |