Bitcoin mining algorithm
The data being hashed is constantly updated. The block header contains a time field and is updated every few seconds. If it doesn't timeout and reset (get new work), the algorithm will be working on a stale header.
&quot;When generating, you constantly hash the block header. The block is also occasionally updated as you are working on it.&quot;
https://en.bitcoin.it/wiki/Block_hashing_algorithm