Dirty hack: Test "Läuft OO?" erfolgreich, wenn Testscript "1" ausgibt
authorMoritz Bunkus <moritz@bunkus.org>
Tue, 3 Aug 2010 12:44:03 +0000 (14:44 +0200)
committerMoritz Bunkus <moritz@bunkus.org>
Wed, 4 Aug 2010 10:03:35 +0000 (12:03 +0200)
Grund: OpenOffice bzw. der UNO-Connector stürzt gerne beim Beenden mit
einem segmentation fault ab, auch wenn die Verbindung selber in
Ordnung war. Also zusätzlich zum Exit code eine Statusausgabe des
Scripts benutzen.

SL/Template.pm
scripts/oo-uno-test-conn.py

index 24285bf..a21f9ea 100644 (file)
@@ -1251,10 +1251,11 @@ sub spawn_xvfb {
 sub is_openoffice_running {
   $main::lxdebug->enter_sub();
 
-  system("./scripts/oo-uno-test-conn.py $main::openofficeorg_daemon_port " .
-         "> /dev/null 2> /dev/null");
-  my $res = $? == 0;
-  $main::lxdebug->message(LXDebug->DEBUG2(), "  is_openoffice_running(): $?\n");
+  my $output = `./scripts/oo-uno-test-conn.py $main::openofficeorg_daemon_port 2> /dev/null`;
+  chomp $output;
+
+  my $res = ($? == 0) || $output;
+  $main::lxdebug->message(LXDebug->DEBUG2(), "  is_openoffice_running(): res $res\n");
 
   $main::lxdebug->leave_sub();
 
index 183a290..5b7203a 100755 (executable)
@@ -26,7 +26,10 @@ def main():
   try:
     desktop = establish_connection(sys.argv[1])
   except:
+    print "0"
     sys.exit(2)
+
+  print "1"
   sys.exit(0)
 
 main()