Hi all, Man, when did I really screw up the last time? And I thought I had run all test...
Anyhow, thanks all for helping to solve this issue. Michael got it right, it is the NDEBUG. But is not the .c file but the header file that was wrong. The idea is that we have functions only in debugging mode, because functions make it easier to debug. But they are slower than macro expansions. So in release mode, the functions are replace with the mutex calls directly (which, I think, a macros, too). If I recall it correctly, I screwed up after I created that optimization. > > Found the culprit. Patch is attached. > > Imho calling the define NDEBUG makes the code unnecessarily hard to > > read (#ifndef NDEBUG ..). I had to stare at the code for a > while until > > I noticed that it was negated one time to often. The NDEBUG is an assert() inheritance. Assert() uses it to indicate a release build. I've build on the same tool to avoid introducing another one. But obviously, it has its drawbacks, too. I think I'll solve that by adding a comment. I hope this clarifies. Drop me a note if I got it wrong again or you have a question ;) The tarball that is now in the repository should solve the issue. Rainer _______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog

