These flags define ODE library initialization options.
@c dInitFlagManualThreadCleanup indicates that resources allocated in TLS for threads
using ODE are to be cleared by library client with explicit call to @c dCleanupODEAllDataForThread.
If this flag is not specified the automatic resource tracking algorithm is used.
With automatic resource tracking, On Windows, memory allocated for a thread may
remain not freed for some time after the thread exits. The resources may be
released when one of other threads calls @c dAllocateODEDataForThread. Ultimately,
the resources are released when library is closed with @c dCloseODE. On other
operating systems resources are always released by the thread itself on its exit
or on library closure with @c dCloseODE.
With manual thread data cleanup mode every collision space object must be
explicitly switched to manual cleanup mode with @c dSpaceSetManualCleanup
after creation. See description of the function for more details.
If @c dInitFlagManualThreadCleanup was not specified during initialization,
calls to @c dCleanupODEAllDataForThread are not allowed.
@brief Library initialization flags.
These flags define ODE library initialization options.
@c dInitFlagManualThreadCleanup indicates that resources allocated in TLS for threads using ODE are to be cleared by library client with explicit call to @c dCleanupODEAllDataForThread. If this flag is not specified the automatic resource tracking algorithm is used.
With automatic resource tracking, On Windows, memory allocated for a thread may remain not freed for some time after the thread exits. The resources may be released when one of other threads calls @c dAllocateODEDataForThread. Ultimately, the resources are released when library is closed with @c dCloseODE. On other operating systems resources are always released by the thread itself on its exit or on library closure with @c dCloseODE.
With manual thread data cleanup mode every collision space object must be explicitly switched to manual cleanup mode with @c dSpaceSetManualCleanup after creation. See description of the function for more details.
If @c dInitFlagManualThreadCleanup was not specified during initialization, calls to @c dCleanupODEAllDataForThread are not allowed.
@see dInitODE2 @see dAllocateODEDataForThread @see dSpaceSetManualCleanup @see dCloseODE @ingroup init