using poll to wait for interrupt
merge