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*/ {