void kclear_c ( void )
Clear the KEEPER system: unload all kernels, clear the kernel
pool, and re-initialize the system.
None.
KERNEL
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
None.
None. This routine operates by side effects. See Particulars
below.
None.
None.
1) Any errors that occur when setting a kernel pool watch
or checking watched variables will be diagnosed by
routines in the call tree of this routine.
See Particulars.
This entry point allows you re-initialize the KEEPER system with
a single call. The KEEPER system is the kernel management system
underlying the set of CSPICE APIs
furnsh_c
ktotal_c
kdata_c
kinfo_c
kclear_c
unload_c
This routine unloads all kernels from their kernel-type-specific
kernel management subsystems (SPKBSR, CKBSR, etc.), clears the
kernel pool, clears KEEPER's internal file database, and re-sets
the watch status for the kernel variables used to load kernels
via meta-kernels.
This capability, though implemented in Fortran, is particularly
relevant to SPICE implementations such as Icy, for which the
state of the KEEPER system persists after any Icy-based IDL
script is run. Successive runs of Icy-based scripts may perform
in unexpected ways when scripts access data loaded during runs of
previous scripts.
Cleaning up after such programs using explicit unload_c commands is
tedious and error-prone. One call to this routine sets the
KEEPER system to its initial state, preventing unintentional
interaction between scripts via KEEPER's state.
Clear the KEEPER system; check for residual loaded files.
We shouldn't find any.
kclear_c ();
ktotal_c ( "ALL", &n );
printf ( "Count of loaded kernels after kclear_c call\n", n );
Calling this routine will wipe out any kernel pool data
inserted via the p*pool_c API routines.
None.
N.J. Bachman (JPL)
-CSPICE Version 1.0.0, 15-NOV-2006 (NJB)
Re-initialize the keeper system
Clear the keeper system
Unload all kernels
Link to routine kclear_c source file kclear_c.c
|