[ONOS-6944] Restarted dispatch loop become stopped when event sink exceeded execution time limit in CoreEventDispatcher

Change-Id: I85d12b0472f4349124d1e2afead59becce52c976
(cherry picked from commit a9ff68bb8d5587f271e0f87b5f65ae743afd4ea8)
diff --git a/core/net/src/main/java/org/onosproject/event/impl/CoreEventDispatcher.java b/core/net/src/main/java/org/onosproject/event/impl/CoreEventDispatcher.java
index cbcf1b4..58c26c4 100644
--- a/core/net/src/main/java/org/onosproject/event/impl/CoreEventDispatcher.java
+++ b/core/net/src/main/java/org/onosproject/event/impl/CoreEventDispatcher.java
@@ -176,22 +176,21 @@
         @Override
         public void run() {
             stopped = false;
-            log.info("Dispatch loop initiated");
+            log.info("Dispatch loop({}) initiated", name);
             while (!stopped) {
                 try {
                     // Fetch the next event and if it is the kill-pill, bail
                     Event event = eventsQueue.take();
-                    if (event == KILL_PILL) {
-                        break;
+                    if (event != KILL_PILL) {
+                        process(event);
                     }
-                    process(event);
                 } catch (InterruptedException e) {
                     log.warn("Dispatch loop interrupted");
                 } catch (Exception | Error e) {
                     log.warn("Error encountered while dispatching event:", e);
                 }
             }
-            log.info("Dispatch loop terminated");
+            log.info("Dispatch loop({}) terminated", name);
         }
 
         // Locate the sink for the event class and use it to process the event
@@ -211,7 +210,6 @@
 
         void stop() {
             stopped = true;
-            stopWatchdog();
             add(KILL_PILL);
         }