|
|
@@ -169,6 +169,16 @@ public class UdpKernel extends AbstractKernel
|
|
|
socketEndpoints.remove( p.getRemoteAddress() );
|
|
|
|
|
|
addEvent( EndpointEvent.createRemove( this, p ) );
|
|
|
+
|
|
|
+ // If there are no pending messages then add one so that the
|
|
|
+ // kernel-user knows to wake up if it is only listening for
|
|
|
+ // envelopes.
|
|
|
+ if( !hasEnvelopes() ) {
|
|
|
+ // Note: this is not really a race condition. At worst, our
|
|
|
+ // event has already been handled by now and it does no harm
|
|
|
+ // to check again.
|
|
|
+ addEnvelope( EVENTS_PENDING );
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
protected void newData( DatagramPacket packet )
|