]]>
DtSearchExit
library call
DtSearchExit
Perform orderly shutdown of search engine
#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
&cdeman.DtSrAPI;,
&cdeman.DtSearch;