Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/11/2014, 20:35
williamfj
 
Fecha de Ingreso: mayo-2011
Mensajes: 49
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Liberar recursos en tiempo de ejecución

Hola como han estado? ,estoy de vuelta por acá por que después de algo mas de un año encontré la solución a mi problema.

tuve la necesidad de migrar mi programa a consola debido a que cambie mi proveedor de VPS con la mala fortuna que este no admiten modo gráfico...me costo algo de trabajo pero lo logre solo para darme cuenta que mis problemas de fuga de memoria continuaban ,leí documentación sobre openssl pero no encontré nada así que recurrí a algo que en otras ocasiones me ha dado resultados prueba y error ...prueba y error hasta dar con algo útil. con lo cual encontré el problema después de muchas segmentaciones.


todos los ejemplos que encontré cerraban la conexión de la siguiente manera

BIO_reset(mem_t);
BIO_free_all(mem_t);
SSL_CTX_free(ctx_t);

lo cual parece que no es del todo correcto ya que para la conexión segura se requiere de una variable tipo SSL *myssl la cual en ningún momento se libera.

SSL_CTX_free(ctx_t);
SSL_FREE(myssl); ///aqui esta el detalle
close(sock);

según entendí de la documentación la instrucción SSL_FREE(ssl *) libera indirectamente los buffer BIO con lo cual se liberan todos los recursos que se usaron para realizar la conexión segura.

aun no marco el tema como solucionado esperando posibles aportes.