kclear_c

Index Page kclear_c
A B C D E F G H I J K L M N O P Q R S T U V W X
Procedure Abstract Required_Reading Keywords Brief_I/O Detailed_Input | Detailed_Output Parameters Exceptions Files Particulars Examples | Restrictions Literature_References Author_and_Institution Version Index_Entries
#### Procedure
       void kclear_c ( void )
#### Abstract
       Clear the KEEPER system:  unload all kernels, clear the kernel
       pool, and re-initialize the system.
#### Required_Reading
       None.
#### Keywords
       KERNEL
#### Brief_I/O
       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
       None.
#### Detailed_Input
       None.  This routine operates by side effects.  See Particulars
       below.
#### Detailed_Output
       None.
#### Parameters
       None.
#### Exceptions
       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.
#### Files
       See Particulars.
#### 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.
#### Examples
       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 );
#### Restrictions
       Calling this routine will wipe out any kernel pool data
       inserted via the p*pool_c API routines.
#### Literature_References
       None.
#### Author_and_Institution
       N.J. Bachman    (JPL)
#### Version
       -CSPICE Version 1.0.0, 15-NOV-2006 (NJB)
#### Index_Entries
       Re-initialize the keeper system
       Clear the keeper system
       Unload all kernels
#### Link to routine kclear_c source file kclear_c.c

    Thu Apr 16 08:58:26 2009