What's worse than a forced reboot? A reboot that should have happened but was ignored, wiping out not only the last hours work, but your entire disk.
>99% of users would have absolutely no idea what choice to take. And no matter which they chose, they probably will wind up losing something. So why make it appear that it is the users fault if they lost data (by making the 'wrong' choice)?
Yeah, just suspend that thread that is in the USB stack. What could possibly go wrong? It's not like it could interefe with a filesystem o a USB device, right?
And remember, just because a certain piece of code DETECTED a problem does not mean that that piece of code CAUSED the problem. Thread 'A' craps all over storage, thread 'B' attempts to use storage and crashes, and you give the user to just let thread 'A' continue? Brilliant!