The socket handler will keep looping until it has managed to drain all data from the socket. If this never happens then we never return to the main loop and check if we should exit.
I've tested this on OS X just by having glxgears running. It is impossible to close the client until glxgears is terminated.
This is not a regression and has probably been present since we ported things to FLTK.
*** Bug 6118 has been marked as a duplicate of this bug. ***
Verified that the problem exists with tlclient 4.7.0 on OS X 10.8. Verified that it is fixed in build 5369. Works well.