問題タブ [libuv]
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.
c - libUV ハンドルを正しく閉じる
このプログラムを Valgrind で実行しているときに発生するこれらのメモリ リークを修正する方法を見つけようとしています。の 2 つの割り当てでリークが発生しnShell_client_main
ます。しかし、それらを適切に解放する方法がわかりません。
nShell_Connect でそれらを解放しようとしましたが、libUV がプログラムを中止させています。の最後でそれらを解放しようとしましたnShell_client_main
が、ループを閉じるときに読み取り/書き込みエラーが発生します。これらのハンドルを閉じる方法を知っている人はいますか? 私はこれを読んで、始めました。uv_ip4_addr
ただし、最新バージョンではプロトタイプが異なるため、時代遅れのようです。
(nShell_main
「エントリー」ポイントです)
アサーションは、このコードの抜粋 (Github の Joyent の libUV ページから取得) の switch ステートメントの最後で発生しています。
手動で呼び出すことはできますuv__tcp_close
が、それはパブリック ヘッダーにはありません (とにかく正しい解決策ではない可能性があります)。
qt - qtのlibuvイベントループ
複数のスレッドを使用しない方法はありますか?
これを見つけましたhttps://stackoverflow.com/a/17329626/4014896
しかし、私はそれがどのように機能するかわかりません。この例では、CPU 使用率が 100% になるべきではありませんか? QTなどに埋め込むにはどうすればよいですか?
これもあります: https://github.com/svalaskevicius/qt-event-dispatcher-libuv しかし、ドキュメントはまったくありません。しかし、私の見た目からは、例の QSocket から uv_tcp_socket に変換するもののように見えますが、これは私が探しているものではありません。
c++11 - LibSourcey での経験
libuv をグーグルで調べているときにlibsourceyに出くわしました。非常に機能が豊富に見えますが、確固たるレビューやベンチマークを見つけることができませんでした (実際、これは LibSourcey に関するスタック オーバーフローに関する最初の投稿のようです)。
このフレームワークをまだ経験したことがない人はいますか?
node.js - libuv と Node.js は実際にどのようにタイマーをスケジュールしますか?
libuv とオペレーティング システムは、Node.js で setTimeout や setInterval などのタイマーを実際にどのようにスケジュールしますか? タイマーが起動するまで、ノード プロセスによって CPU が使用されていないことがわかります。これは、OS がタイマーをスケジュールし、タイマーが起動したときに Node プロセスを起動するということですか? もしそうなら、OSはどのようにタイマーをスケジュールし、ハードウェアはそれをどのように正確に実行しますか?
c++ - C++ エラー: 非静的メンバー関数への参照を呼び出す必要があります
libuv のネットワーク機能のいくつかの基本的な動作を抽象化するクラスを作成しようとしています。
前に示したコードの問題は、コンパイルしようとすると次のエラーが発生することです。
そしてそれlisten_uv_listen_uv_connection_cb
は犯人として指摘します。
なぜそれがエラーなのか、どうすれば修正できるのか、誰か説明してもらえますか?
uv_listen()
およびuv_connection_cb
シグネチャは次のように宣言されます。
libuv - 単一のコールバックに結合された uv_async_send() の数を数える
libuv のドキュメントから: http://docs.libuv.org/en/v1.x/async.html?highlight=uv_async_t
警告 libuv は uv_async_send() への呼び出しを結合します。つまり、すべての呼び出しでコールバックが実行されるわけではありません。唯一の保証は、少なくとも 1 回呼び出されることです。したがって、この関数を呼び出しても、以前に短時間で呼び出された場合、イベント ループがウェイクアップしない場合があります。
単一のコールバックを呼び出すために結合された uv_async_send() の数を見つける方法はありますか?