◀一般トップへ
  • 6703 JUNCTIONと更新の監視
    • 6705 Re: JUNCTIONと更新の監視
      • 6706 Re2: JUNCTIONと更新の監視
        • 6711 Re3: JUNCTIONと更新の監視
          • 6712 Re4: JUNCTIONと更新の監視
    • 6713 JUNCTIONとは関係無いと思う
  • [6703] JUNCTIONと更新の監視 doskoi 2008年07月02日 00:48

    テキストファイルにJUNCTIONを張って、そのJUNCTIONをサクラ
    で開くと更新の監視が働いて、開いた瞬間に、
    「このファイルは外部のエディタ等で変更されています。」
    と出てきます。
    で、「以後更新を監視しない(N)」をクリックしないといけない。
    編集後セーブすると、元ファイルもきちんと変更されています。

    「更新の監視」を有効にしたまま、JUNCTIONファイルに対して
    これを回避する方法はないでしょうか。
    因みに、lessやnotepadではこのJUNCTIONは問題なく開けます。

    XP_HEsp3です。
    変な質問で恐縮ですm(_)m。
    • [6705] Re: JUNCTIONと更新の監視 もか 2008年07月02日 23:22

      XP Pro sp3です。
      http://homepage1.nifty.com/emk/symlink.html
      のツールで試して見ましたが、
      v1.05ではファイルのJUNCTION作成機能は削除されていました。
      Vista互換のシンボリックリンクを試そうとしたら
      senableの実行で
      「symlink.sys を にコピーできません。
      管理者権限を持っているか確認してください。」
      とでてエラーで落ちて再現できる環境を作れませんでした。
      なにか他に方法がありましたら、教えて下さい。

      ちなみにサクラエディタは、ショートカットの解決をサポートしているので
      開いた後のファイル名が実体をさしてもいいなら、ショートカットを開く手もあります。
      • [6706] Re2: JUNCTIONと更新の監視 doskoi 2008年07月03日 12:58

        どうもです。
        ▼ もかさん
        > XP Pro sp3です。
        > http://homepage1.nifty.com/emk/symlink.html
        > のツールで試して見ましたが、
        > v1.05ではファイルのJUNCTION作成機能は削除されていました。

        ln -jはファイルに対しては落ちますね。
        ln -sとするとジャンクションが作れますね。

        > senableの実行で
        > 「symlink.sys を にコピーできません。
        > 管理者権限を持っているか確認してください。」
        > とでてエラーで落ちて再現できる環境を作れませんでした。

        私の環境でも同じです。

        よって、サクラのコマンドラインオプションに「更新の監視オフ」
        が有ればいいなと思います。

        • [6711] Re3: JUNCTIONと更新の監視 もか 2008年07月04日 16:04

          >ln -sとするとジャンクションが作れますね。
          プロンプトのdirだとJUNCTIONと表示されますが、
          作成されるのはシンボリックリンクですよね。

          結局senableのエラーはソースコードを読んで解決しました。
          senable実行時のカレントディレクトリにsymlink.sysがないと、ドライバの
          コピーに失敗していました。
           doskoiさんの環境ではsenable installかなにかで、すでに動作している状態に
          なっていたんだと思います。
          更新通知が繰り返されるのも確認しました。
          日時が正しくないのは、エクスプローラも同様でした。
          Vistaのシンボリックリンクでも発生するなら、なにか対策を考えたほうがよいかも
          しれません。(Vista機を持っていないので確認はできません)
          そうでないならsenableのバグかもしれないのでそちらに確認してみてはどうでしょうか。

          >よって、サクラのコマンドラインオプションに「更新の監視オフ」
          >が有ればいいなと思います。
          あれば便利かもしれないですね。
          • [6712] Re4: JUNCTIONと更新の監視 doskoi 2008年07月04日 23:48

            ▼ もかさん
            > >ln -sとするとジャンクションが作れますね。
            > プロンプトのdirだとJUNCTIONと表示されますが、
            > 作成されるのはシンボリックリンクですよね。
            snip
            > 日時が正しくないのは、エクスプローラも同様でした。

            timestampがおかしいので更新通知が繰り返される、と。
            JUNCTIONファイルを編集してもタイムスタンプが更新されません。
            しかし元ファイルは内容も日時も正常に更新されている。
            この仕様は、Linuxのシンボリックリンクではあり得ないですよね。
            よって、作られるのは、NT固有のJUNCTIONというよく分らない
            代物だと理解します。
            しかしそれなりに便利なので使いたい。

            そのうち、NTFSが大クラッシュしたりして・・・・(^_^;;)

            それと、ntfs.sysがSP2とSP3では違うようです。
            違いの中身は分りません。
    • [6713] JUNCTIONとは関係無いと思う すい 2008年07月05日 02:05

      この問題(と全く同じか実は良く分からないんですけど)ずっと以前から
      気付いていたけど面倒で報告を怠っていた怠け者の私がやって来ましたよ。

      更新通知のダイアログが出っぱなしになる現象自体は
      JUNCTION 使っていなくても、特定の条件にて良く出ます。

      Windows NT系のパソコンと Windows 95系のパソコンをネットワークで
      接続している環境において、Windows NT系のパソコン上の HDD が
      NTFS であり、その NTFS ディスク上のファイルを共有に出しておいて、
      そのファイルに Windows 95系パソコンからアクセスして
      Windows 95系パソコン上のサクラエディタで開いた場合です。

      え~、その「開いたファイル」を最後に更新したのが Windows NT系側の
      オペレーターであった場合、ファイルの更新日時情報は NTFS の
      精度、すなわち ms の単位まで記録されていますよね。
      その手のファイルを Windows 95系のパソコンからサクラエディタで
      開くと、どうも更新ダイアログが出続ける事になるようです。

      Windows 95系(= HDD は FATシステム)の更新日時の精度である、2秒
      (更新日時の秒 情報格納領域が 5bit しかないため、偶数秒しか表せない)
      から外れているファイルを扱おうとすると問題が出るようで。

      で、更新通知のチェック部で2つの更新日時情報を比較している
      わけですが、その両者の更新日時情報を取得している API が
      それぞれ全くの別物の API だから、特定の条件下において別々の
      日付情報を返して来るのだろうな~~(推測)、それで更新通知
      ダイアログが出っ放しになるのだろうな~~、という辺りまでは
      簡単に行き着いたのですが、その確認まではやってないし、
      報告も怠っていました。 m(_ _)m