On Tuesday, 4 August 2015 at 15:19:51 UTC, Chris wrote:
foreach (ref i; 0..10) {writefln("%d.\tDoing something with input %s", i+1, input);Thread.sleep(500.msecs); }
AFAIK, boost does it by integrating support for interruption into various functions, so IO, waits and locks reply to interrupt requests appropriately. You can do something similar.