問題タブ [libev]

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 投票する
3 に答える
18625 参照

c - マクロ定義で do { } while (0) を使用する理由

重複の可能性:
C/C++ マクロに無意味な do/while ステートメントと if/else ステートメントがあるのはなぜですか?

以下のようなコードに出会いました:

著者がここを使用する理由を知りたいですdo { } while (0)。これと違いはありますか?

ところで:コードはlibev、ev_local.hからのものです

0 投票する
2 に答える
4478 参照

c - Libev、関連するコールバックに引数を渡す方法

libev で引数が渡される状況に陥っています。

通常、libev は*receive_callback*のような関数でパッケージを受け取りますが、実際には、受け取ったパッケージに応じて特定のジョブを処理するために、相対*write_callback*をディスパッチする必要があります。例えば:

私の質問は、write_callbackXrecv_buff 内の特定のコンテンツも読み取る必要がある場合、recv_buff 引数を callbackX に渡すにはどうすればよいですか? ここで、グローバル変数の負担と醜さを負担する必要がありますか?

0 投票する
2 に答える
84 参照

c - 新しいウォッチャーは古い未処理のイベントを見ることができますか?

私がソケットを持っていて、誰かが を介してまだ処理していないデータを送信した場合、そのソケットread()のウォッチャーを作成ev_ioして実行すると、コールバックは起動しますか?

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

python - pyevでepoolするか、Pythonのstdlibから選択しますか?

select誰かがPythonで、 Python stdlibからの標準的なバインディングに対するpyevの速度と有用性を測定しましたか?

pyevを使用する利点は何selectですか?

pyevはC拡張機能によって構築されているため、移植性のあるソリューションではありません。PyPyでビルドしようとしましたが、箱から出してすぐに成功しませんでした。
だから私はそれを使う価値があるかどうか疑問に思っています。

geventが1.0バージョンで(そしてlibeventを使用する前に)libevを使用していることを私は知っています。彼らは本当にそれを必要としていますか?イベントループ以外の機能(libeventのDNSなど)は気にしません。

0 投票する
8 に答える
29653 参照

javascript - Nodejs イベント ループ

nodejsアーキテクチャには内部的に2つのイベントループがありますか?

  • libev/libuv
  • v8 JavaScript イベント ループ

I/O 要求で、ノードは libeio への要求をキューに入れ、li​​bev を使用してイベントを介してデータの可用性を通知し、最終的にそれらのイベントはコールバックを使用して v8 イベントループによって処理されますか?

基本的に、libev と libeio は nodejs アーキテクチャにどのように統合されていますか?

nodejs の内部アーキテクチャを明確に示すために利用できるドキュメントはありますか?

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

android-ndk - Android ndk で libev をビルドする

Androidでlibev(libeventではなく)が本当に必要なプログラムをコーディングしています。私は何度もグーグルでlibevをビルドする方法を見つけましたが、成功しませんでした。Androidでlibevをビルドする方法を教えてください。ありがとうございます。

0 投票する
2 に答える
492 参照

c++ - libev コールバックで std::list がクラッシュする

クライアントに送信される保留中のデータをチェックする libev 書き込みコールバック関数があります。保留中のデータ バッファーは次のようになります。

コールバック関数は、次の方法でコンテナーにデータがあるかどうかを確認します。

セグメンテーション違反でプログラムがクラッシュする

そして時々

2 番目のケースでは、empty() は false を返しますが、デバッガーは、そのリストにはデータ メンバーがありません

別のスレッドで実行されます(バッファは同じスレッドから読み書きされます)追加のスレッドをまったく開始せずにこれをメインスレッドに移動しようとしましたが、同じ効果がありました。

OS は Ubuntu 12.04、コンパイラは g++ 4.6 です。私のプロジェクトでは c++0x も有効になっています。

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

c++ - ev_default_forkに関するlibevのフラグ

私は学んでいlibevます。ev_default_forkしかし、私はの旗について理解していませんev_loop。これは、実行に近い問題ですか?旗のようにFD_CLOEXEC fcntl()?フラグを設定する必要があるときは?このフラグが必要なのはどちらの場合ですか?これはドキュメントの説明です:

この関数は、後続のev_loop反復で、カーネル状態が1つあるバックエンドのカーネル状態を再初期化するフラグを設定します。名前にもかかわらず、いつでも呼び出すことができますが、子プロセス(または子と親の両方)でforkした後、最も意味がありますが、これもほとんど意味がありません。libevfunctionを使用する前に、子で呼び出す必要があります。これは、次のev_loopの反復でのみ有効になります。

一方、子でイベントライブラリを使用する場合にのみ、子プロセスでこの関数を呼び出す必要があります。fork + execだけの場合は、呼び出す必要はまったくありません。

関数自体は非常に高速であり、フォークの後で念のために呼び出すことは通常問題ではありません。これを簡単にするために、関数はpthread_atforkの呼び出しに完全に適合します。pthread_atfork(0、0、ev_default_fork);

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

httpclient - libevを使用した非同期HttpClient

libebb(http://tinyclouds.org/libebb/)とlibevを使用してWebサーバーを作成しています。libevイベントループを使用する非同期httpclientを探しています。

Http 1.1(パイプライン、キープアライブなど)をサポートしたいと思います。

これがばかげた質問ではないことを願っています。

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

c - ev_loopはlibevで宣言されていますか?

私はlibevを研究していますが、ev_loopはlibevの非常に重要なコンポーネントです。しかし、libevのソースコードを検索したところ、structev_loopの定義が見つかりませんでした。

では、ev_loopはどのように見えるべきでしょうか?