Discussion:
異なるパソコン間での排他制御について
(too old to reply)
unknown
2009-09-16 04:53:01 UTC
Permalink
ハブに接続する別のパソコンと同一ファイルに対して排他制御を掛けています。
固定したサイズでの排他制御はやったことがあるのですが��
今回は相手側のパソコンからのファイルを読み込み次第、削除を求められています。そうすると相手側とのタイミングで、読み込んだ直後にデータを追加されたら、こちら側で読み込んでいないデータ部まで削除する可能性が残ります。
 というのは、sopenした後、_lockingを掛け、読み込み、_lockingを解除し
closeすると、排他制御が掛かっていませんから、相手側からは書き込める
可能性があるからです。
 そこで、このような場合に対応する別の方法があるのでしょうか。
ご意見をお願い致します。
 備考、相手側のソフトはこちら側でいじることは出来ません。
UETA, Shin-ichi
2009-09-17 02:10:46 UTC
Permalink
こんにちは、植田です。
Post by unknown
今回は相手側のパソコンからのファイルを読み込み次第、削除を求められています。

Post by unknown
 備考、相手側のソフトはこちら側でいじることは出来ません。
相手の協力が得られないとなると、やれることはかなり限られてきますね。
たとえば、ファイルの削除は無理だとしても、_chsize(またはSetEndOfFile)
でファイルを空にするくらいなら可能なのでは?
--
植田システム設計事務所
Ueta System Design Studio
http://www.usdesign.jp/
植田真一
mailto:***@usdesign.jp
unknown
2009-09-18 01:08:01 UTC
Permalink
植田さん、早速の回答ありがとうございます。
恥ずかしい話ですが、_chsize関数を知りませんでした。
今まで使ったことがありませんでしたので。
私の弱点が出た気がします。
 当然sopenでも使えますよね。試して見ます。

Loading...