[vassalengine-svn-trunk] [vassalengine-svn] SF.net SVN: vassalengine:[3939] VASSAL-src/trunk/src/VA
Brought to you by:
rodneykinney,
uckelman
From: <uck...@us...> - 2008-07-30 20:47:32
|
Revision: 3939 http://vassalengine.svn.sourceforge.net/vassalengine/?rev=3939&view=rev Author: uckelman Date: 2008-07-30 20:47:37 +0000 (Wed, 30 Jul 2008) Log Message: ----------- Check that child process is live before sending port number for socket. Ignore SocketExceptions on shutdown. Modified Paths: -------------- VASSAL-src/trunk/src/VASSAL/launch/AbstractLaunchAction.java Modified: VASSAL-src/trunk/src/VASSAL/launch/AbstractLaunchAction.java =================================================================== --- VASSAL-src/trunk/src/VASSAL/launch/AbstractLaunchAction.java 2008-07-30 20:09:14 UTC (rev 3938) +++ VASSAL-src/trunk/src/VASSAL/launch/AbstractLaunchAction.java 2008-07-30 20:47:37 UTC (rev 3939) @@ -30,6 +30,7 @@ import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; +import java.net.SocketException; import java.awt.event.ActionEvent; import java.util.ArrayList; import java.util.Collections; @@ -126,6 +127,9 @@ catch (EOFException e) { // Normal. Child closed. } + catch (SocketException e) { + // Normal. Child closed. + } catch (IOException e) { CommunicationErrorDialog.error(e); } @@ -287,6 +291,21 @@ IOUtils.closeQuietly(oout); } + // check whether the child is still alive + try { + p.exitValue(); + + ErrorDialog.error( + Resources.getString("Error.launch_failed"), + Resources.getString("Error.launch_failed"), + Resources.getString("Error.launch_failed_message") + ); + return null; + } + catch (IllegalThreadStateException e) { + // It's alive! It's ALIIIIIIVE!!! + } + // read the port for the child's socket from its stdout final DataInputStream din = new DataInputStream(p.getInputStream()); final int childPort = din.readInt(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ vassalengine-svn mailing list vas...@li... https://lists.sourceforge.net/lists/listinfo/vassalengine-svn |