問題タブ [ace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
562 参照

ace - ACE のスレッドを使用して別の操作を実行する

C++ で ACE スレッドを使用してさまざまなタスクを実行することはできますか?

たとえば、ユーザーが threadA と threadB という名前の 2 つのスレッドを作成したとします。特定の関数の実行が終了したら、同じスレッド threadA と threadB を他の操作に使用できますか?

可能であれば、どのように?

0 投票する
1 に答える
353 参照

c++ - ACE のデバッグ: メッセージ キューがいっぱいになる方法

私は方法を使用しています:

ACE_Task::putq (ACE_Message_Block *mb, ACE_Time_Value *tv)

これを呼び出す行は次のとおりです: ret = putq(mb, const_cast(&ACE_Time_Value::zero));

私が基本的に試みているのは、定期的なエラーを取得する必要があるということです

からの EWOULDBLOCK および ESHUTDOWN

int lastErr = ACE_OS::last_error();

すぐにデバッグするために...

だから私の質問は、そのようなエラーを強制する簡単な方法はありますか?

私はすでにこれを試しました: while ( ret >= 0 ) ret = putq(mb, const_cast(&ACE_Time_Value::max_time));

しかし、私のスレッドは数回の呼び出しでスタックし、putq から戻ることはありません...

ヒントを事前にありがとう!

ピーター

0 投票する
1 に答える
357 参照

linux - カスタム RPM の偽の依存関係?

ACE-TAO の「devel」パッケージをインストールするための RPM をビルドしようとしています。

ACE-TAO の RPM が既に存在することは知っていますが、私たちのアプリケーションには不十分です。開発者に ACE+TAO のコンパイルを依頼すると、エラーが発生しやすくなります。

とにかく、これを行うためにspecファイルを作成します:

これがやろうとしているのは、コンパイル済みの ACE+TAO を /usr/local にコピーすることだけです。ただし、インストールしようとすると、次のエラーが発生します。

私のシステムにはありませんがperl、これらがなくても RPM をビルドできます。

ここに私の質問があります: これらの依存関係が不要であることを RPM に明示的に伝えることは可能ですか? それらがどこから現れたのかはわかりませんが、インストールされた環境に影響を与えないことはわかっています。

ありがとう!

0 投票する
0 に答える
34 参照

c++ - ACE init を含む dll をロードすると、exe が「ctrl+c」に応答しません。(C++)

ACE とシグナル キャプチャについて質問があります。ACE init 関数の呼び出しを含む dll があります。.exe でこの dll を呼び出す必要がありますが、この場合、exe は "ctrl+c" の信号をキャプチャできません。dll で ACE init 関数を呼び出さないと、質問が終了しません。助けてください。ありがとう。

0 投票する
1 に答える
210 参照

ace - ACE TAO がデバッグ モードで NameService オブジェクトを取得できない

ACE TAO を使用してマルチプログラム プロジェクトを実行しています。環境変数を設定し、ACE_TAO 環境をコンパイルしました。次に、プロジェクトの実行ディレクトリにコピーしtao_cosnaming.exe、.bat を使用してネーム サービスを開始しました。

プログラムを直接起動すると問題なく動作しますが、デバッグ モードで obj = orb->resolve_initial_references("NameService") を呼び出すと、"NameService" を正しく取得できませんでした。(obj->_non_existent() を実行できませんでした。エラーがスローされます)。

ネーミング サービスがリモートで実装されているためと思われます。obj = orb->invoke resolve_initial_references("RootPOA") を呼び出すと、RootPOA はローカル オブジェクトであるため、obj->_non_existent() はすぐに戻るため、問題はありません。

.bat ファイルは次のようになります。

DTAX_RUN_DIRとはDTAX_NAME_SERVICE_HOST環境変数です。DTAX_RUN_DIRはプロジェクト実行ディレクトリであり、DTAX_NAME_SERVICE_HOST=169.254.51.81:10493

何がうまくいかないのかについて誰かアイデアを共有できますか? ありがとう!

0 投票する
1 に答える
1126 参照

c++ - __GI_raise での ACE のクラッシュ

ACE_5.7.1 を使用すると、Linux (ubuntu 12.04) プロセスがクラッシュします。私のコード:

スタック情報:

これらのコードが例外を引き起こす理由を誰が知っていますか。どうもありがとう。

0 投票する
0 に答える
939 参照

c++ - ノンブロッキング ACE_SOCK_Stream とクライアント切断

そのため、ACE を使用してマルチスレッド サーバーをセットアップしようとしています。recv()/send() のブロックを防ぐために、非ブロック クライアント ソケットを使用しています。問題は、recv() を使用し、クライアントが不当に切断された場合です。recv() の結果は、クライアントが切断されたことを示しません。接続を確認する他の方法はありますか。

ここに短いスニペットがあります

したがって、クライアントが切断された場合、recv は -1 を返しますが、errno は依然として EWOULDBLOCK です。

また、recv で短いタイムアウトを使用しようとしましたが、errno = ETIME(TIME-Out) を使用しない場合と同じ結果になります。