DtSearchExit(library call)

NAME
DtSearchExit — Perform orderly shutdown of search engine

SYNOPSIS

#include &<Dt/Search.h>
void DtSearchExit(
int return-code);

void DtSearchAddUserExit(
void (*user_exit)(int));

void DtSearchRemoveUserExit(
);

DESCRIPTION

DtSearchExit is an internal exit call for the online API. It may be called by any API module when a fatal error or aborting signal is detected. It performs an orderly shutdown of the search engine including graceful database closure, communications disconnect, release of system resources, restoration of environment, etc., as necessary. It will call a user exit function if one was installed by DtSearchAddUserExit.

The final action is a call to the standard system exit function so DtSearchExit never returns. The return_code passed to DtSearchExit will eventually be the value passed to exit.

Usage of DtSearchExit is not required to use the DtSearch API. Each API function does its own resource cleanup before returning to the caller so process termination outside of the API need not make further reference to the API.

For the convenience of API users, DtSearchAddUserExit may be called to install an optional user_exit function which will be called from within DtSearchExit. The user_exit argument is a pointer to a user written function that takes an integer argument and returns void. If DtSearchExit is called, the value of return_code will be passed as the argument to the user_exit function.

Calling DtSearchAddUserExit replaces a user_exit installed by a previous call, if any. User exits are typically installed to ensure that required application cleanup is performed if the API should happen to abort. Since DtSearchExit may be called from within a signal catching function, user_exit should not call functions which would be unsafe for a signal catcher to call, as defined by the POSIX standard.

DtSearchRemoveUserExit may be called to remove any user_exit installed by a previous call to DtSearchAddUserExit.

RETURN VALUE

DtSearchExit and the user_exit installed by DtSearchAddUserExit do not return.

SEE ALSO

DtSrAPI(3), DtSearch(5)