多数のリクエストを行うために大量のオブジェクトを作成するプログラムをQTに持っています。この数は潜在的に非常に大きく、このエラーが発生する可能性があります:
GLib-ERROR **: GWakeup 用のパイプの作成: Trop de fichiers ouverts
Trop de fichiers ouverts = 開いているファイルが多すぎます (フランス語)
QSemaphore を作成し、新しいオブジェクトを作成する前にそれを取得し、それを破棄するときにそれを解放することによって、接続オブジェクトの数を (10 ~ 20 のように) 制限したかったのです。
実際には、値 0 のセマフォを取得しようとすると、プログラムが待機し、オブジェクトのコードでさえ実行が停止し、セマフォが解放されず、無限ループが発生します。
他のオブジェクトが実行を継続しないのはなぜですか? これを解決するには?