To wit:

~ [le-master]
% /Applications/Emacs.app/Contents/MacOS/Emacs --daemon -q -eval "(server-start)"                                     Sun 12:00:40
("/Applications/Emacs.app/Contents/MacOS/Emacs" "-eval" "(server-start)")
Starting Emacs daemon.
Restarting server

~ [le-master]
% emacsclient --eval "(error \"foo\")"                                                                                Sun 12:03:07
*ERROR*: foo

This is okay.

~ [le-master]
% emacsclient  --eval "(error \"foo\")"                                                                               Sun 12:05:16
*ERROR*: foo

hangs I have to C-c to break out of it


So it only handles (signal 'error).

--
Le