]> git.sur5r.net Git - bacula/bacula/commitdiff
Improve Jmsg in response(), display SIGNAL number when appropriate
authorAlain Spineux <alain@baculasystems.com>
Tue, 27 Oct 2015 11:41:40 +0000 (12:41 +0100)
committerKern Sibbald <kern@sibbald.com>
Sat, 21 Nov 2015 17:42:46 +0000 (09:42 -0800)
bacula/src/filed/job.c

index 05eb87b99466d8a2ea52d785b7869e9baaf77ba4..48ade9f95e6b04b3ab5db747f2511f0f84b8d7b1 100644 (file)
@@ -2462,10 +2462,12 @@ static void filed_free_jcr(JCR *jcr)
  */
 int response(JCR *jcr, BSOCK *sd, char *resp, const char *cmd)
 {
+   int ret;
+
    if (sd->errors) {
       return 0;
    }
-   if (bget_msg(sd) > 0) {
+   if ((ret = bget_msg(sd)) > 0) {
       Dmsg0(110, sd->msg);
       if (strcmp(sd->msg, resp) == 0) {
          return 1;
@@ -2479,8 +2481,13 @@ int response(JCR *jcr, BSOCK *sd, char *resp, const char *cmd)
          cmd, sd->bstrerror());
    } else {
       char buf[256];
-      Jmsg4(jcr, M_FATAL, 0, _("Bad response from SD to %s command. Wanted %s, got len=%ld msg=\"%s\"\n"),
-         cmd, resp, sd->msglen, smartdump(sd->msg, sd->msglen, buf, sizeof(buf)));
+      if (ret > 0) {
+         Jmsg4(jcr, M_FATAL, 0, _("Bad response from SD to %s command. Wanted %s, got len=%ld msg=\"%s\"\n"),
+            cmd, resp, sd->msglen, smartdump(sd->msg, sd->msglen, buf, sizeof(buf)));
+      } else {
+         Jmsg3(jcr, M_FATAL, 0, _("Bad response from SD to %s command. Wanted %s, got SIGNAL %s\n"),
+            cmd, resp, bnet_sig_to_ascii(ret));
+      }
    }
    return 0;
 }