Linux
Qtライブラリを使用して、アプリケーションを作成しています。
だから、2つありQThreads
ます。スレッドpcap_next()
関数の 1 つで、while
サイクルで呼び出しています。多くの場合、すべてのスレッドは、作業中に互いのパブリック メンバーを使用します。
ライブラリを使用せずpcap
に (たとえば、ハードディスクからパケットを読み取る) すべてが正しいのですが、pcap の関数を別の に配置しようとするとthread
、SEGFAULT エラーが発生します。
仕組みが理解できませんpcap
。プロセス全体がフリーズしているように見えますpcap
。このため、スレッドは互いのパブリック メンバーにアクセスできません。
run()
pcap のスレッドの主な機能は次のようになります。
while()
{
Data = pcap_next(handle, &header);
if (Data...)
{
//processing functions
}
}
何か案は?