Ticket #45294

CreateFileが失敗した時にTTXCloseFileが呼ばれない

Open Date: 2022-08-01 01:37 Last Update: 2022-08-12 15:10

Reporter:
Owner:
(None)
Type:
Status:
Open
Component:
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

CommOpen()@commlib.c で TTXOpenFile() が呼ばれた後、シリアルポートやログが開けなかった場合に TTXCloseFile() が呼ばれない。

TTXOpenFile()の中で行われた処理の後始末をTTXCloseFile()で行っていた場合、意図しない状態となる可能性がある。

呼ばれない原因は、PCreateFile()が失敗した時はcv->OpenがFALSEのままとなるが、CommClose()の冒頭でcv->OpenがFALSEの時は何もせずに抜ける為。

動作を変える事になるが、TCP接続に失敗した時はTTXCloseTCP()が呼ばれるので、そちらに合わせるという意味でもTTXCloseFile()を呼ぶようにした方がいいと思われる。

関連: #44431

Ticket History (2/2 Histories)

2022-08-01 01:37 Updated by: doda
  • New Ticket "接続が失敗した時にTTXCloseTCPが呼ばれない" created
2022-08-12 15:10 Updated by: doda
  • Details Updated
  • Summary Updated
Comment

TCP接続ではTTXCloseTCP()が呼ばれるので、TTXCloseFile()に限定した内容に修正。

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login