]> git.sur5r.net Git - bacula/bacula/commitdiff
don't use add_event() when flag "l" is not set
authorAlain Spineux <alain@baculasystems.com>
Thu, 17 Aug 2017 09:48:51 +0000 (11:48 +0200)
committerKern Sibbald <kern@sibbald.com>
Wed, 6 Sep 2017 06:31:53 +0000 (08:31 +0200)
- add_event() was called when debug level > 50 without testing for flag "l"
- related to #3074 but this is not a fix, this should avoid the problem
  if flag "l" is not used.

bacula/src/lib/lockmgr.c

index 094f1e0d58461739e247baa1da27398be61c3734..d53aec863ecc61fb3b676d7185eb2726f7b145c0 100644 (file)
@@ -433,7 +433,7 @@ public:
    {
       int max_prio = max_priority;
 
-      if (chk_dbglvl(DBGLEVEL_EVENT) || debug_flags & DEBUG_MUTEX_EVENT) {
+      if (chk_dbglvl(DBGLEVEL_EVENT) && debug_flags & DEBUG_MUTEX_EVENT) {
          /* Keep track of this event */
          add_event("P()", (intptr_t)m, 0, f, l);
       }
@@ -502,7 +502,7 @@ public:
       int old_current = current;
 
       /* Keep track of this event */
-      if (chk_dbglvl(DBGLEVEL_EVENT) || debug_flags & DEBUG_MUTEX_EVENT) {
+      if (chk_dbglvl(DBGLEVEL_EVENT) && debug_flags & DEBUG_MUTEX_EVENT) {
          add_event("V()", (intptr_t)m, 0, f, l);
       }
 
@@ -740,7 +740,7 @@ void *check_deadlock(void *)
       pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &old);
       if (lmgr_detect_deadlock()) {
          /* If we have information about P()/V(), display them */
-         if (debug_flags & DEBUG_MUTEX_EVENT || chk_dbglvl(DBGLEVEL_EVENT)) {
+         if (debug_flags & DEBUG_MUTEX_EVENT && chk_dbglvl(DBGLEVEL_EVENT)) {
             debug_flags |= DEBUG_PRINT_EVENT;
          }
          lmgr_dump();