Author: peter_firmstone
Date: Fri Nov 27 05:31:09 2015
New Revision: 1716793

URL: http://svn.apache.org/viewvc?rev=1716793&view=rev
Log:
Fix NPE that can occur during shutdown.  Note this NPE didn't cause a test 
failure, however I don't like NPE being thrown unless we're expecting it.  Also 
corrected synchronization comment.

Modified:
    
river/jtsk/skunk/qa-refactor-namespace/trunk/src/net/jini/discovery/AbstractLookupDiscovery.java

Modified: 
river/jtsk/skunk/qa-refactor-namespace/trunk/src/net/jini/discovery/AbstractLookupDiscovery.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/qa-refactor-namespace/trunk/src/net/jini/discovery/AbstractLookupDiscovery.java?rev=1716793&r1=1716792&r2=1716793&view=diff
==============================================================================
--- 
river/jtsk/skunk/qa-refactor-namespace/trunk/src/net/jini/discovery/AbstractLookupDiscovery.java
 (original)
+++ 
river/jtsk/skunk/qa-refactor-namespace/trunk/src/net/jini/discovery/AbstractLookupDiscovery.java
 Fri Nov 27 05:31:09 2015
@@ -156,7 +156,10 @@ abstract class AbstractLookupDiscovery i
     /* WakeupManager to delay tasks. */
     private final WakeupManager discoveryWakeupMgr;
     private final boolean isDefaultWakeupMgr;
-    /* Outstanding tickets - Access synchronized on pendingDiscoveries */
+    /* Outstanding tickets - Access synchronized on 
+     * UnicastDiscoveryTask instance, then on tickets.
+     * Access only synchronized on tickets from nukeThreads 
+     */
     private final List<Ticket> tickets;
     /** Thread that handles incoming multicast announcements. */
     private final AnnouncementListener announceeThread;
@@ -1010,7 +1013,7 @@ abstract class AbstractLookupDiscovery i
                     // Since this is a valid announcement, update the
                     // sequence number.
                     AnnouncementInfo aInfo = regInfo.get(srvcID);
-                    if (!regInfo.replace
+                    if (aInfo != null && !regInfo.replace // Avoid null 
pointer exception
                             (   srvcID, 
                                 aInfo, 
                                 new AnnouncementInfo( 


Reply via email to