]> git.sur5r.net Git - bacula/bacula/commitdiff
19Nov04
authorKern Sibbald <kern@sibbald.com>
Fri, 19 Nov 2004 09:51:22 +0000 (09:51 +0000)
committerKern Sibbald <kern@sibbald.com>
Fri, 19 Nov 2004 09:51:22 +0000 (09:51 +0000)
- Fix mutex deadlock in dequeue of messages.
- Add debug code to FD authorization.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1706 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/lib/message.c

index 03f7afaf622a9685ae90916b6898734840895794..1c060c5486acd7cb4283920b23006003de419ca5 100755 (executable)
@@ -1255,7 +1255,6 @@ void Qmsg(JCR *jcr, int type, time_t mtime, const char *fmt,...)
    item->type = type;
    item->mtime = time(NULL);
    strcpy(item->msg, pool_buf);  
-   P(msg_queue_mutex);
    /* If no jcr or dequeuing send to daemon to avoid recursion */
    if (!jcr || jcr->dequeuing) {
       /* jcr==NULL => daemon message, safe to send now */
@@ -1263,10 +1262,11 @@ void Qmsg(JCR *jcr, int type, time_t mtime, const char *fmt,...)
       free(item);
    } else {
       /* Queue message for later sending */
+      P(msg_queue_mutex);
       jcr->msg_queue->append(item);
+      V(msg_queue_mutex);
 //    Dmsg1(000, "queue item=%lu\n", (long unsigned)item);
    }
-   V(msg_queue_mutex);
    free_memory(pool_buf);
 }