[ttssh2-commit] [10448] 一つのttyファイルを複数のTera Termから同時に再生できない問題を修正した

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2023年 1月 3日 (火) 19:46:42 JST


Revision: 10448
          https://osdn.net/projects/ttssh2/scm/svn/commits/10448
Author:   zmatsuo
Date:     2023-01-03 19:46:41 +0900 (Tue, 03 Jan 2023)
Log Message:
-----------
一つのttyファイルを複数のTera Termから同時に再生できない問題を修正した

Ticket: #44430

問題:
  TTXttyplayでttyファイルを再生中に、別のTera Termから同じttyファイルを
  再生しようとすると「ファイルが開けません」というエラーになる。

原因:
  TTXttyplayが利用しているTera Termのログ再生で、ファイルを開く時の共有
  モードで 0 が指定されている為。

対処:
  CreateFileをフックし、共有モードが 0 の時はFILE_SHARE_READに書き換えて
  開くようにした。

MFT r10111

Revision Links:
--------------
    https://osdn.net/projects/ttssh2/scm/svn/commits/10111

Ticket Links:
------------
    https://osdn.net/projects/ttssh2/tracker/detail/44430

Modified Paths:
--------------
    branches/4-stable/TTXSamples/TTXttyrec/TTXttyplay.c

-------------- next part --------------
Modified: branches/4-stable/TTXSamples/TTXttyrec/TTXttyplay.c
===================================================================
--- branches/4-stable/TTXSamples/TTXttyrec/TTXttyplay.c	2023-01-03 10:46:33 UTC (rev 10447)
+++ branches/4-stable/TTXSamples/TTXttyrec/TTXttyplay.c	2023-01-03 10:46:41 UTC (rev 10448)
@@ -146,6 +146,10 @@
 
 	HANDLE ret;
 
+	if (AcMode == GENERIC_READ && ShMode == 0) {
+		ShMode = FILE_SHARE_READ;
+	}
+
 	ret = pvar->origPCreateFile(FName, AcMode, ShMode, SecAttr, CreateDisposition, FileAttr, Template);
 
 	if (pvar->enable) {


ttssh2-commit メーリングリストの案内
Back to archive index