Per fare quello che desideri devi impostare timeout a -1.
Amaro C++, il gusto pieno dell'undefined behavior.
Regole del Forum