In my current setup, I run `emacs --daemon` on boot and thereafter use `emacsclient` to do work. However, I've noticed a problem with this. When a complex chunk of processing is happening, `C-g` stops working: the complex work can't be halted or terminated early. As far as I can tell, this is because an emacs client needs to wait to be acknowledged by the server before any input from the client is processed. As a result, `C-g` won't work when I most need it - to bail out of processes that are time-consuming or possibly destructive. 

Are there any workarounds to this, or a way to tell the server process "stop that!"? Nothing in the [Quitting](http://www.gnu.org/software/emacs/manual/html_node/emacs/Quitting.html) or [Emergency Escape](http://www.gnu.org/software/emacs/manual/html_node/emacs/Emergency-Escape.html) sections of the manual seems to acknowledge that this problem exists - so it's also possible that this is the result of me doing something wrong. If so, what am I doing wrong?

If the answer is "no, there is no way to do what you want; `emacsclient` processes can't cope with the server being blocked for a nontrivial amount of time," I'll mark as accepted the answer that points out in code or documention where that answer can be had: I haven't been able to find such a thing. :(