Usando OpenSSL en una aplicación multi-hilo

He estado escribiendo una aplicación cliente SOAP en C ++ en Ubuntu usando OpenSSL para mi transporte HTTPS y pthreads para subprocesos. Tengo varios subprocesos: un subproceso de adquisición de datos central que periódicamente recibe subprocesos de trabajo para realizar solicitudes SOAP a través de colas protegidas de exclusión mutua compartidas.

Leyendo la documentación de OpenSSL que encontré.¿Es OpenSSL seguro para hilos? en las preguntas frecuentes de OpenSSL que describen los mecanismos necesarios para garantizar la seguridad de los subprocesos cuando se usa OpenSSL. Implementé esto y todo funciona bien.

La razón de mi pregunta es realmente una dificultad conceptual. Estaba pensando en implementar la misma funcionalidad que ya tiene mi aplicación, pero en lugar de usar subprocesos, crearía 2 separadosaplicaciones : Uno para el subproceso de trabajo (de los cuales se estarían ejecutando varias copias) y otro para el subproceso de adquisición de datos principal. Luego usaría sockets TCP para comunicarme entre las dos colas protegidas en lugar de mutex. Esto puede ser una mala idea, pero no es realmente importante, lo que me confunde es¿Tendría que implementar las mismas funciones requeridas para garantizar la seguridad de subprocesos OpenSSL en este segundo enfoque o no?

Mi conjetura es que no tendría que hacerlo y podrían tratarse como independientes (de hecho, seguramente debe ser como muchas aplicaciones usan OpenSSL), pero ¿cuál es la razón para ello?Lo que es diferente entre múltiplesaplicaciones utilizando código de biblioteca compartida y múltiplestrapos compartiendo el mismo código ?? He estado escribiendo exitosamente aplicaciones de multiproceso desde hace un par de años y me preocupa que no pueda dar una respuesta a esta pregunta.