]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix bug #292 (tray-monitor).
authorNicolas Boichat <nicolas@boichat.ch>
Mon, 25 Apr 2005 15:10:29 +0000 (15:10 +0000)
committerNicolas Boichat <nicolas@boichat.ch>
Mon, 25 Apr 2005 15:10:29 +0000 (15:10 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1956 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/patches/1.36.3-tray-monitor-fix-broken-pipe.diff [new file with mode: 0644]
bacula/patches/patches-1.36.3
bacula/src/tray-monitor/tray-monitor.c

diff --git a/bacula/patches/1.36.3-tray-monitor-fix-broken-pipe.diff b/bacula/patches/1.36.3-tray-monitor-fix-broken-pipe.diff
new file mode 100644 (file)
index 0000000..4725dfa
--- /dev/null
@@ -0,0 +1,22 @@
+Index: src/tray-monitor/tray-monitor.c
+===================================================================
+RCS file: /cvsroot/bacula/bacula/src/tray-monitor/tray-monitor.c,v
+retrieving revision 1.21
+diff -r1.21 tray-monitor.c
+455c455,468
+<          writecmd(&items[i], "quit");
+---
+>          switch (items[i].type) {
+>          case R_DIRECTOR:
+>             trayMessage("Disconnecting from Director %s:%d\n", ((DIRRES*)items[i].resource)->address, ((DIRRES*)items[i].resource)->DIRport);
+>             break;
+>          case R_CLIENT:
+>             trayMessage("Disconnecting from Client %s:%d\n", ((CLIENT*)items[i].resource)->address, ((CLIENT*)items[i].resource)->FDport);
+>             break;
+>          case R_STORAGE:
+>             trayMessage("Disconnecting from Storage %s:%d\n", ((STORE*)items[i].resource)->address, ((STORE*)items[i].resource)->SDport);
+>             break;          
+>          default:
+>             break;
+>          }
+>          //writecmd(&items[i], "quit");
index 6d1d507d2286d3d6dac4ec279d5120ec640e190b..c8c7404dbe77fbea473a3f2e5f898e1298fc2973 100644 (file)
@@ -1,3 +1,3 @@
 
-04Mar05 1.36.3-
This patch should fix a problem ...
+25Apr05 1.36.3-tray-monitor-fix-broken-pipe.diff
Fix broken pipe when closing bacula-tray-monitor (bug #292).
index 2d056a37c6ee7b002367cb4c2128d2ac73b5514d..9abc40098fc65bd9ac08a566361b28874f87e1b0 100644 (file)
@@ -452,7 +452,20 @@ int main(int argc, char *argv[])
 
    for (i = 0; i < nitems; i++) {
       if (items[i].D_sock) {
-         writecmd(&items[i], "quit");
+         switch (items[i].type) {
+         case R_DIRECTOR:
+            trayMessage("Disconnecting from Director %s:%d\n", ((DIRRES*)items[i].resource)->address, ((DIRRES*)items[i].resource)->DIRport);
+            break;
+         case R_CLIENT:
+            trayMessage("Disconnecting from Client %s:%d\n", ((CLIENT*)items[i].resource)->address, ((CLIENT*)items[i].resource)->FDport);
+            break;
+         case R_STORAGE:
+            trayMessage("Disconnecting from Storage %s:%d\n", ((STORE*)items[i].resource)->address, ((STORE*)items[i].resource)->SDport);
+            break;          
+         default:
+            break;
+         }
+         //writecmd(&items[i], "quit");
          bnet_sig(items[i].D_sock, BNET_TERMINATE); /* send EOF */
          bnet_close(items[i].D_sock);
       }