CreateFileが失敗した時にTTXCloseFileが呼ばれない
CommOpen()@commlib.c で TTXOpenFile() が呼ばれた後、シリアルポートやログが開けなかった場合に TTXCloseFile() が呼ばれない。
TTXOpenFile()の中で行われた処理の後始末をTTXCloseFile()で行っていた場合、意図しない状態となる可能性がある。
呼ばれない原因は、PCreateFile()が失敗した時はcv->OpenがFALSEのままとなるが、CommClose()の冒頭でcv->OpenがFALSEの時は何もせずに抜ける為。
動作を変える事になるが、TCP接続に失敗した時はTTXCloseTCP()が呼ばれるので、そちらに合わせるという意味でもTTXCloseFile()を呼ぶようにした方がいいと思われる。
関連: #44431
TCP接続ではTTXCloseTCP()が呼ばれるので、TTXCloseFile()に限定した内容に修正。
CommOpen()@commlib.c で TTXOpenFile() が呼ばれた後、シリアルポートやログが開けなかった場合に TTXCloseFile() が呼ばれない。
TTXOpenFile()の中で行われた処理の後始末をTTXCloseFile()で行っていた場合、意図しない状態となる可能性がある。
呼ばれない原因は、PCreateFile()が失敗した時はcv->OpenがFALSEのままとなるが、CommClose()の冒頭でcv->OpenがFALSEの時は何もせずに抜ける為。
動作を変える事になるが、TCP接続に失敗した時はTTXCloseTCP()が呼ばれるので、そちらに合わせるという意味でもTTXCloseFile()を呼ぶようにした方がいいと思われる。
関連: #44431