Also, an issue I just noticed with the program yesterday (I'm using 2.0.2) was a scenario where both mining threads went dead, and after I tried manually restarting the GPU with that feature you already have built in, it didn't help. However, then I closed out cgminer and opened it back up, and it had no problems mining again. Based on this, can you build into the program an option to have the program automatically restart itself if the mining threads go dead? Of course, it should first try to automatically restart the GPU, but doesn't it already try this? I think this latter complete restart could help work around a lot of issues where mining still gets stuck. Thanks!
I can't do that because there are many scenarios where a dead device implies a driver hang. Restarting cgminer in that circumstance will crash everything since the problem is at such a low level that the system would normally need a reboot. The idea is to only soft restart devices that have soft failed and then recover. The default behaviour has to be the least harmful. Some people grep the output of cgminer and force a restart if they get the DEAD message.