Clarify configuration options on NoReceiversWarningPanel dialog
prevent NPE in multicastreceiver
git-svn-id: https://svn.apache.org/repos/asf/logging/log4j/companions/receivers/trunk@954727 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/log4j/net/MulticastReceiver.java b/src/main/java/org/apache/log4j/net/MulticastReceiver.java
index ebba2c2..8df11ba 100644
--- a/src/main/java/org/apache/log4j/net/MulticastReceiver.java
+++ b/src/main/java/org/apache/log4j/net/MulticastReceiver.java
@@ -17,23 +17,21 @@
package org.apache.log4j.net;
-import org.apache.log4j.plugins.Pauseable;
-import org.apache.log4j.plugins.Receiver;
-import org.apache.log4j.spi.Decoder;
-import org.apache.log4j.spi.LoggingEvent;
-
import java.io.IOException;
-
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.net.SocketException;
import java.net.UnknownHostException;
-
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import org.apache.log4j.plugins.Pauseable;
+import org.apache.log4j.plugins.Receiver;
+import org.apache.log4j.spi.Decoder;
+import org.apache.log4j.spi.LoggingEvent;
+
/**
* Multicast-based receiver. Accepts LoggingEvents encoded using
@@ -106,9 +104,15 @@
if (advertiseViaMulticastDNS) {
zeroConf.unadvertise();
}
- handlerThread.interrupt();
- receiverThread.interrupt();
- socket.close();
+ if (handlerThread != null) {
+ handlerThread.interrupt();
+ }
+ if (receiverThread != null) {
+ receiverThread.interrupt();
+ }
+ if (socket != null) {
+ socket.close();
+ }
}
public void setAddress(String address) {