* lib/gdb.exp(default_gdb_exit): Add a catch to the
authorBob Manson <manson@cygnus>
Fri, 31 Jan 1997 00:51:45 +0000 (00:51 +0000)
committerBob Manson <manson@cygnus>
Fri, 31 Jan 1997 00:51:45 +0000 (00:51 +0000)
close and wait commands, as the descriptor may now be
invalid. Always call "remote_close host".

Makes sure things get cleaned up if gdb dies in the middle of a test.

gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp

index d317dc348900c2814e940c306e869fbb5bfbfe06..8bf1be6445e8bbc8cbfd3b84d24bec654146acb1 100644 (file)
@@ -1,3 +1,9 @@
+Thu Jan 30 16:49:25 1997  Bob Manson  <manson@charmed.cygnus.com>
+
+       * lib/gdb.exp(default_gdb_exit): Add a catch to the
+       close and wait commands, as the descriptor may now be
+       invalid. Always call "remote_close host".
+
 Tue Jan 28 14:42:31 1997  Bob Manson  <manson@charmed.cygnus.com>
 
           Major rewrite for testsuite revision.
index 88894927bac8530fe737e773081c3194fbb68ec4..e6d86f25a47721eaf85110b41d3c1109fe0d3d05 100644 (file)
@@ -594,17 +594,17 @@ proc default_gdb_exit {} {
            }
            -i $gdb_spawn_id timeout { }
        }
-       remote_close host;
     } else {
        # We used to try to send_gdb "quit" to GDB, and wait for it to die.
        # Dealing with all the cases and errors got pretty hairy.  Just close it, 
        # that is simpler.
-       close -i $gdb_spawn_id
+       catch "close -i $gdb_spawn_id"
 
        # Omitting this probably would cause strange timing-dependent failures.
-       wait -i $gdb_spawn_id
+       catch "wait -i $gdb_spawn_id"
     }
 
+    remote_close host;
     unset gdb_spawn_id
 }