zlib C ライブラリを使用して、ネットワーク ストリームから受信したデータを解凍しています。2 つのストリームが 2 つの別々の NSThreads で実行されています。zlib のドキュメントによると、2 つのスレッドで 2 つの異なる zlib ストリームを解凍するには、zalloc と zfree をスレッドセーフにする必要があります。現在、Z_NULL を渡しています (以下の inflateinit コード)
zStream.zalloc = Z_NULL;
zStream.zfree = Z_NULL;
zStream.opaque = Z_NULL;
zStream.avail_in = 0;
zStream.next_in = Z_NULL;
int status = inflateInit(&zStream);
if (status != Z_OK)
DLog(@"zlib setup error");
else
DLog(@"zlib setup ok");
});
個別のスレッドで複数のストリームを圧縮するために zlib を使用した経験のある人はいますか? zalloc と zfree のスレッドセーフな実装を見た人はいますか?