Fixed a case where an exception would kill the kernel
adapter thread. Also improved the details of the error logging. git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7255 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
bfd49c43e3
commit
5225599ee2
@ -93,12 +93,12 @@ public class KernelAdapter extends Thread
|
|||||||
kernel.terminate();
|
kernel.terminate();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void reportError( Exception e )
|
protected void reportError( Endpoint p, Object context, Exception e )
|
||||||
{
|
{
|
||||||
// Should really be queued up so the outer thread can
|
// Should really be queued up so the outer thread can
|
||||||
// retrieve them. For now we'll just log it. FIXME
|
// retrieve them. For now we'll just log it. FIXME
|
||||||
log.log( Level.SEVERE, "Unhandled error", e );
|
log.log( Level.SEVERE, "Unhandled error, endpoint:" + p + ", context:" + context, e );
|
||||||
}
|
}
|
||||||
|
|
||||||
protected HostedConnection getConnection( Endpoint p )
|
protected HostedConnection getConnection( Endpoint p )
|
||||||
{
|
{
|
||||||
@ -148,7 +148,7 @@ public class KernelAdapter extends Thread
|
|||||||
}
|
}
|
||||||
messageDispatcher.messageReceived( source, m );
|
messageDispatcher.messageReceived( source, m );
|
||||||
} catch( Exception e ) {
|
} catch( Exception e ) {
|
||||||
reportError(e);
|
reportError(p, m, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,7 +186,7 @@ public class KernelAdapter extends Thread
|
|||||||
try {
|
try {
|
||||||
createAndDispatch( event );
|
createAndDispatch( event );
|
||||||
} catch( Exception e ) {
|
} catch( Exception e ) {
|
||||||
reportError(e);
|
reportError(event.getEndpoint(), event, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -209,7 +209,12 @@ public class KernelAdapter extends Thread
|
|||||||
// when the connection add events come through
|
// when the connection add events come through
|
||||||
flushEvents();
|
flushEvents();
|
||||||
|
|
||||||
createAndDispatch( e );
|
try {
|
||||||
|
createAndDispatch( e );
|
||||||
|
} catch( Exception ex ) {
|
||||||
|
reportError(e.getSource(), e, ex);
|
||||||
|
}
|
||||||
|
|
||||||
} catch( InterruptedException ex ) {
|
} catch( InterruptedException ex ) {
|
||||||
if( !go.get() )
|
if( !go.get() )
|
||||||
return;
|
return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user