-/*
- **********************************************************************
- * Copyright (C) 1997-2002, International Business Machines
- * Corporation and others. All Rights Reserved.
- **********************************************************************
+/**
+*******************************************************************************
+* Copyright (C) 2008, International Business Machines Corporation. *
+* All Rights Reserved. *
+*******************************************************************************
*/
-#include "mutex.h"
-#include "ucln_cmn.h"
-
-/* Initialize the global mutex only when we can use it. */
-#if (ICU_USE_THREADS == 1)
-
-/*
- * NOTE: This function replicates functionality from the start
- * u_init(). Any changes must be made in both places.
- * TODO: combine them.
- *
- * This function runs only during C++ static initialization.
- */
-static int GlobalMutexInitialize()
-{
- UErrorCode status = U_ZERO_ERROR;
+#include "unicode/utypes.h"
- umtx_init(NULL);
- ucnv_init(&status);
- ures_init(&status);
- return 0;
-}
+#if UCONFIG_NO_SERVICE
-static int initializesGlobalMutex = GlobalMutexInitialize();
-
-#endif /* ICU_USE_THREADS==1 */
+/* If UCONFIG_NO_SERVICE, then there is no invocation of Mutex elsewhere in
+ common, so add one here to force an export */
+#include "mutex.h"
+static Mutex *aMutex = 0;
+/* UCONFIG_NO_SERVICE */
+#endif