Consultor Eletrônico



Kbase P103515: Memory leak when using ESQL/C client
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   22/04/2005
Status: Unverified

FACT(s) (Environment):

Progress 9.1D

SYMPTOM(s):

Memory leak when using ESQL/C client

ESQL/C client not releasing memory

C code probuilt into executable carries out deletes.

CHANGE:

Upgraded from v8 to v9

CAUSE:


Cursors not being released during deletes. This is a known issue being investigated by Development.

FIX:


The workaround would be to modify the C code to make an additional call to clear the cursor. For example -
1. Create a new API call (tpe_free_cursor):
tpe_sqlexecute(tpe_get_curtmhdl(),tpe_get_curdbhdl(),tpe_cursor,tpe_isqlda, &sqlca); SQLCODE = sqlca.sqlcode;
if (sqlca.sqlcode < 0)
{ goto err; }
2. Add the following one line to the C code, recompile & relink with C compiler:
tpe_free_cursor( &tpe_cursor);
PRO_SQLDA_Deallocate(tpe_isqlda);