blocking read triggered by a timer