Provide the possibility to clean up internal ENGINE structures. This

takes care of what would otherwise be seen as a memory leak.
This commit is contained in:
Richard Levitte 2001-04-26 16:07:08 +00:00
parent 3988bb34aa
commit a679116f6f
2 changed files with 17 additions and 0 deletions

View File

@ -349,6 +349,9 @@ int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns);
/* Copies across all ENGINE methods and pointers. NB: This does *not* change
* reference counts however. */
int ENGINE_cpy(ENGINE *dest, const ENGINE *src);
/* Cleans the internal engine structure. This should only be used when the
* application is about to exit. */
void ENGINE_cleanup(void);
/* These return values from within the ENGINE structure. These can be useful
* with functional references as well as structural references - it depends

View File

@ -376,6 +376,20 @@ int ENGINE_free(ENGINE *e)
return 1;
}
void ENGINE_cleanup(void)
{
ENGINE *iterator = engine_list_head;
while(iterator != NULL)
{
ENGINE_remove(iterator);
ENGINE_free(iterator);
iterator = engine_list_head;
}
engine_list_flag = 0;
return;
}
int ENGINE_set_id(ENGINE *e, const char *id)
{
if(id == NULL)