Execute functions before exiting

From Remeis-Wiki
Revision as of 10:42, 13 August 2018 by Stierhof (talk | contribs) (Created page with " Sometimes it is necessary to execute functions when slang/isis is closed. In slang scripts this can be easily done via the <code>atexit</code> function. For example: <pre>...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Sometimes it is necessary to execute functions when slang/isis is closed. In slang scripts this can be easily done via the atexit function.

For example:

define my_exit_function () { vmessage("Exit time: %s", strftime("%H:%M:%S")); }

atexit(&my_exit_function);

will print the exit time of the slang/isis process to stdout.

Exit function in C

The same behaviour can be accomplished in an slang module written in C. The function that needs to be called gets appended via

void my_module_exit_function (void) {
    destroy(global_object);
    printf("Cleaning up mess!");
}

SLang_add_cleanup_function(&my_module_exit_function);

This might be necessary when memory is allocated and used until the very end.