と言いますと、curl_global_init()
が必要ですが、この関数はスレッドセーフではありません。以下のコードのよう:curlを使ったマルチプロセス、curl_global_initを呼び出さなければならないときは?
// main process
curl_global_init(); // 1 curl_global_init
pid = fork();
if (pid == 0) {
// Child process
curl_global_init(); // 2 curl_global_init
// ... curl functions
} else {
// parent process
// ... curl functions
}
は、子プロセスが再びcurl_global_init
を呼び出す必要がありますか? 私は子プロセスが親プロセスからメモリ空間をコピーすると思いますので、curl_global_init
を再度呼び出す必要はありません。そうですか?
あなたのコードはマルチスレッドではないので、なぜスレッドセーフに関する質問がありますか? –
私は知っています。 curl_global_initはforkの後に2回呼び出される必要がありますか? – cloudzhou
私はcurl_global_init()を書くことができます。 curl_global_cleanup();必要に応じてすべてのプロセス – cloudzhou