At line 234 TerminateThread(Session->WriteShellThreadHandle, 0); shoud read TerminateThread(Session->ReadShellThreadHandle, 0);