Sorry for the late reply, I have lost this e-mail as well.
+ rc = WaitForSingleObject(ext->halt_event, 0)
You appear to be missing a ;
This does not compile. did you even test that before sending in the patch?
Otherwise the patch looks fine.
-aric