Server Control Board wraps a device which reads and writes from a socket among other things. Sometimes -maybe if blocket on a read/write operation?- the server control board fails to close when requested. It does not reach the close function of the wrapped device. Is the thread in charge of serving remote control board commands also in charge of closing the device? If that were the case, if that thread is blocked, you're unable to close the device. The only solution is killing the device.