from XBase so it can be caught normally. Changed client and server to handle unavailable threads (in main loop, anyway).