fix interrupt handling problem