Manejo de memoria de la librería de Oracle usando PL/SQL desde ProC
Problema: Tengo una función exportada desde una librería de C con el siguiente código de ProC dentro de un fichero Prueba.pc:
#include <sqlcpr.h>
void Prueba()
{
EXEC SQL ENABLE THREADS;
EXEC SQL BEGIN DECLARE SECTION;
sql_context m_ctx;
EXEC SQL END DECLARE SECTION;
EXEC SQL CONTEXT ALLOCATE :m_ctx;
EXEC SQL CONTEXT USE :m_ctx;
EXEC SQL CONTEXT FREE :m_ctx;
}
}
Esta función es invocada desde un programa de C en Windows 2000, y por cada vez que se llama a la función, una herramienta de medición de memoria me indica que se pierden un numero de bytes (siempre el mísmo).
En principio, la herramienta que el punto dónde se da pérdida es en la sentencia: EXEC SQL ENABLE THREADS;
pero sin embargo también hay pérdida en el 2º conjunto de sentencias
¿Sabe alguien que puede estar sucediendo?
Gracias
#include <sqlcpr.h>
void Prueba()
{
EXEC SQL ENABLE THREADS;
EXEC SQL BEGIN DECLARE SECTION;
sql_context m_ctx;
EXEC SQL END DECLARE SECTION;
EXEC SQL CONTEXT ALLOCATE :m_ctx;
EXEC SQL CONTEXT USE :m_ctx;
EXEC SQL CONTEXT FREE :m_ctx;
}
}
Esta función es invocada desde un programa de C en Windows 2000, y por cada vez que se llama a la función, una herramienta de medición de memoria me indica que se pierden un numero de bytes (siempre el mísmo).
En principio, la herramienta que el punto dónde se da pérdida es en la sentencia: EXEC SQL ENABLE THREADS;
pero sin embargo también hay pérdida en el 2º conjunto de sentencias
¿Sabe alguien que puede estar sucediendo?
Gracias
