Properly handle interruption
diff --git a/subprojects/s4-core/src/main/java/org/apache/s4/core/SenderImpl.java b/subprojects/s4-core/src/main/java/org/apache/s4/core/SenderImpl.java
index d2e731d..b103ad8 100644
--- a/subprojects/s4-core/src/main/java/org/apache/s4/core/SenderImpl.java
+++ b/subprojects/s4-core/src/main/java/org/apache/s4/core/SenderImpl.java
@@ -161,11 +161,13 @@
                 if (localPartitionId != i) {
                     try {
                         emitter.send(i, serializedEvent);
+                        metrics.sentEvent(i);
                     } catch (InterruptedException e) {
                         logger.error("Interrupted blocking send operation for event {}. Event is lost.", event);
+                        // no reason to continue: we were interrupted, so we reset the interrupt status and leave
+                        Thread.currentThread().interrupt();
+                        break;
                     }
-                    metrics.sentEvent(i);
-
                 }
             }