diff --git a/src/signal.js b/src/signal.js
index 1cae7d9..c21ee90 100644
--- a/src/signal.js
+++ b/src/signal.js
@@ -84,12 +84,16 @@ class Input /*::*/ {
const addressBook = this.addressBook
Input.notify(value, addressBook, 0, addressBook.length)
}
- } finally {
+ }
+ catch(error) {
this.isBlocked = false
if (this.queue != null && this.queue.length > 0) {
this.receive(value = this.queue.shift())
}
+
+ throw error
}
+ this.isBlocked = false
}
}
subscribe(address/*:Address*/)/*:void*/ {