diff --git a/os.rkt b/os.rkt index 5d9c6bd..dd40615 100644 --- a/os.rkt +++ b/os.rkt @@ -227,9 +227,9 @@ [((apply-getter (vm-vtable state)) (message-handler-pattern (car message-handlers)) message) - (perform-transition ((message-handler-k (car message-handlers)) - (subscription-state sub)) - state)] + (define trapk (message-handler-k (car message-handlers))) + (define interruptk (trapk message)) + (perform-transition (interruptk (subscription-state sub)) state)] [else (search-handlers (cdr message-handlers))])))