Wie http://curl.haxx.se/libcurl/c/curl_global_init.html sagte, curl_global_init()
ist notwendig, aber diese Funktion ist nicht threadsicher. Als Code unten:Multi-Prozess mit Curl, wann muss curl_global_init aufgerufen werden?
// 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
}
Braucht Kind Prozess curl_global_init
wieder anrufen? Ich denke, der Child-Prozess kopiert den Speicherplatz aus dem übergeordneten Prozess, und Sie müssen curl_global_init
nicht erneut aufrufen. Ist das richtig?
Ihr Code ist nicht Multithread, also warum ist die Frage über Thread-Sicherheit? –
ich weiß. aber muss curl_global_init zweimal nach fork aufgerufen werden? – cloudzhou
Ich kann schreiben curl_global_init(); und curl_global_cleanup(); jeder Prozess bei Bedarf – cloudzhou