fork sin exec, y pthread_mutex_t usado por objeto compartido

Estoy trabajando con un proyecto de servidor web que realiza unafork sin unexec. El programa depende de OpenSSL, y OpenSSL necesita una serie de bloqueos (CRYPTO_NUM_LOCKS para ser exactos, que es de unos 40 en este momento). Las cerraduras son típicamentepthread_mutex_t en Linux, y se instalan / crean en el hilo principal antes de crear cualquier hilo.

fork Crea un nuevo proceso. Sin embargo, después de lafork, las asas utilizadas en el mutex son copiadas poco profundas. Es decir, tienen los mismos bits pero no creo que tengan un valor útil en el contexto del nuevo proceso.

Creo que el problema general es el de la seguridad del hilo y la horquilla en un objeto compartido. losWiki de openSSL página enlibcrypto discutehilo y horquilla de seguridad, y no estoy seguro de cómo abordar algunos de los problemas.

¿Hay una manera de especificar que una biblioteca (como OpenSSL) debe reinicializarse enfork?

Respuestas a la pregunta(1)

Su respuesta a la pregunta