@brief Free thread local data that was allocated for current thread.
If library was initialized with @c dInitFlagManualThreadCleanup flag the function
is required to be called on exit of every thread that was calling @c dAllocateODEDataForThread.
Failure to call @c dCleanupODEAllDataForThread may result in some resources remaining
not freed until program exit. The function may also be called when ODE is still
being used to release resources allocated for all the current subsystems and
possibly proceed with data pre-allocation for other subsystems.
The function can safely be called several times in a row. The function can be
called without prior invocation of @c dAllocateODEDataForThread. The function
may not be called before ODE is initialized with @c dInitODE2 or after library
has been closed with @c dCloseODE. A call to @c dCloseODE implicitly releases
all the thread local resources that might be allocated for all the threads that
were using ODE.
If library was initialized without @c dInitFlagManualThreadCleanup flag
@c dCleanupODEAllDataForThread must not be called.
@brief Free thread local data that was allocated for current thread.
If library was initialized with @c dInitFlagManualThreadCleanup flag the function is required to be called on exit of every thread that was calling @c dAllocateODEDataForThread. Failure to call @c dCleanupODEAllDataForThread may result in some resources remaining not freed until program exit. The function may also be called when ODE is still being used to release resources allocated for all the current subsystems and possibly proceed with data pre-allocation for other subsystems.
The function can safely be called several times in a row. The function can be called without prior invocation of @c dAllocateODEDataForThread. The function may not be called before ODE is initialized with @c dInitODE2 or after library has been closed with @c dCloseODE. A call to @c dCloseODE implicitly releases all the thread local resources that might be allocated for all the threads that were using ODE.
If library was initialized without @c dInitFlagManualThreadCleanup flag @c dCleanupODEAllDataForThread must not be called.
@see dAllocateODEDataForThread @see dInitODE2 @see dCloseODE @ingroup init