「トークン」という名前の同じリモート ミューテックスを取得しようとする 2 つの小さなプログラムを作成しました。
ACE_Remote_Mutex token("The Token", 1, 1);
token.acquire();
ACE_OS::sleep(5);
token.release();
return 0;
どちらも次のデバッグ出力を取得しました。
(3078597488) トークンを取得 (4243|3078597488) get_connection の大きな問題: 接続が拒否されました リモート取得でのエラー、シャドウ ミューテックスの解放。 (3078597488) リリースされたトークン、所有者は所有者ではありません (4243|3078597488) get_connection の大きな問題: 接続が拒否されました (3078597488) リリースに失敗しました: 権限が拒否されました。 (3078597488) シャドウ: リリースに失敗しました
ACE_Remote_Mutex は、Corba ブローカーのようなある種の「エージェント」でのみ機能しますか? コードを変更できますか?