-static UBool gICUInitialized = FALSE;
-static UMTX gICUInitMutex = NULL;
-
-
-/************************************************
- The cleanup order is important in this function.
- Please be sure that you have read ucln.h
- ************************************************/
-U_CAPI void U_EXPORT2
-u_cleanup(void)
-{
- UTRACE_ENTRY_OC(UTRACE_U_CLEANUP);
- umtx_lock(NULL); /* Force a memory barrier, so that we are sure to see */
- umtx_unlock(NULL); /* all state left around by any other threads. */
-
- ucln_lib_cleanup();
-
- umtx_destroy(&gICUInitMutex);
- umtx_cleanup();
- cmemory_cleanup(); /* undo any heap functions set by u_setMemoryFunctions(). */
- gICUInitialized = FALSE;
- UTRACE_EXIT(); /* Must be before utrace_cleanup(), which turns off tracing. */
-/*#if U_ENABLE_TRACING*/
- utrace_cleanup();
-/*#endif*/
-}
-