dInitFlagManualThreadCleanup

@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

extern (C) nothrow
enum uint dInitFlagManualThreadCleanup;

Meta