Please review the fix for: https://bugs.openjdk.java.net/browse/JDK-6946101
webrev: http://cr.openjdk.java.net/~iignatyev/ppunegov/6946101/webrev.00/ This change fixes two issues with the tests: 1. Fix incorrect 'quit' command sending to JDB when JDB process was finished. 2. Improve JDB unexpected exit detection and process synchronization. Description of fix: 1. Add allowExit parameter to cmd() to show that the given command can finish JDB. E.g., 'cont' command make JDB execute debuggee to the end. If allowExit wasn't set for a command then assume that it can't finish execution, and fail the test if it did. 2. Make test fail if it tries to send 'quit' or 'exit' commands. This makes it impossible to send quit/exit from test by mistake. Scaffold will finish JDB by itself if JDB didn't finish before be a command with allowExit set. Add dofinish() function to be the only method that may exit JDB. 3. Add proper synchronization into waitForFinish(). On all systems except SunOS use wait (from bash). On Solaris find the shell subprocess and wait for its finish. It replaces wait used on all other systems, because it doesn't work on sh/ksh as in bash. 4. Fix tests: add allowExit to tests where it's needed. -- Thanks, Pavel Punegov