use loop {sleep}. does not wake sleep if signal received