Currently, if the server thread crashes, the proofreader thread sits there waiting for a response. This is fixable by starting the proofreader in its own thread and then joining the threads, which would crash if either thread crashes. See e.g. this SO page.