]> git.sur5r.net Git - bacula/bacula/commitdiff
ebl fix RunScript bug (in some case, After script wasn't launched)
authorEric Bollengier <eric@eb.homelinux.org>
Sun, 1 Oct 2006 21:04:05 +0000 (21:04 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Sun, 1 Oct 2006 21:04:05 +0000 (21:04 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@3528 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/filed/job.c
bacula/src/jcr.h

index 0c81adc143c96e5aeec114a1824e45413e8df81c..318290700868e2b826f59b0b6b21082542bc2a51 100644 (file)
@@ -230,6 +230,11 @@ void *handle_client_request(void *dirp)
       }
    }
 
+   if (!jcr->runscript_after) {
+      jcr->runscript_after=1;
+      run_scripts(jcr, jcr->RunScripts, "ClientAfterJob");
+   }
+
    /* Inform Storage daemon that we are done */
    if (jcr->store_bsock) {
       bnet_sig(jcr->store_bsock, BNET_TERMINATE);
@@ -1369,12 +1374,14 @@ static int backup_cmd(JCR *jcr)
       Dmsg0(110, "Error in blast_data.\n");
       /* run shortly after end of data transmission */ 
       run_scripts(jcr, jcr->RunScripts, "ClientAfterJob");
+      jcr->runscript_after=1;
 
    } else {
       set_jcr_job_status(jcr, JS_Terminated);
 
       /* run shortly after end of data transmission */   
       run_scripts(jcr, jcr->RunScripts, "ClientAfterJob");
+      jcr->runscript_after=1;
 
       if (jcr->JobStatus != JS_Terminated) {
          bnet_suppress_error_messages(sd, 1);
index 6a2dad36e4d23f6a47fb9b41a204a5f709c40929..c13da9f9da4e1d0ae7a811939c79ad0c9243ab68 100644 (file)
@@ -276,6 +276,7 @@ public:
    int32_t pki_session_encoded_size;  /* Size of DER-encoded pki_session */
    POOLMEM *crypto_buf;               /* Encryption/Decryption buffer */
    DIRRES* director;                  /* Director resource */
+   bool runscript_after;              /* Don't run After Script twice */
 #endif /* FILE_DAEMON */