summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--perl.h19
-rw-r--r--time64.c8
2 files changed, 9 insertions, 18 deletions
diff --git a/perl.h b/perl.h
index 2bf15f5681..8aa7202e65 100644
--- a/perl.h
+++ b/perl.h
@@ -7516,20 +7516,11 @@ END_EXTERN_C
#endif
-/* Some critical sections need to lock both the locale and the environment.
- * XXX khw intends to change this to lock both mutexes, but that brings up
- * issues of potential deadlock, so should be done at the beginning of a
- * development cycle. So for now, it just locks the environment. Note that
- * many modern platforms are locale-thread-safe anyway, so locking the locale
- * mutex is a no-op anyway */
-#define ENV_LOCALE_LOCK ENV_LOCK
-#define ENV_LOCALE_UNLOCK ENV_UNLOCK
-
-/* And some critical sections care only that no one else is writing either the
- * locale nor the environment. XXX Again this is for the future. This can be
- * simulated with using COND_WAIT in thread.h */
-#define ENV_LOCALE_READ_LOCK ENV_LOCALE_LOCK
-#define ENV_LOCALE_READ_UNLOCK ENV_LOCALE_UNLOCK
+/* Some critical sections care only that no one else is writing either the
+ * locale nor the environment. XXX This is for the future; in the meantime
+ * just use an exclusive lock */
+#define ENV_LOCALE_READ_LOCK gwENVr_LOCALEr_LOCK
+#define ENV_LOCALE_READ_UNLOCK gwENVr_LOCALEr_UNLOCK
/*
diff --git a/time64.c b/time64.c
index 1d637e9761..37d3796679 100644
--- a/time64.c
+++ b/time64.c
@@ -159,15 +159,15 @@ static const short safe_years[SOLAR_CYCLE_LENGTH] = {
# define LOCALTIME_LOCK ENV_LOCALE_READ_LOCK
# define LOCALTIME_UNLOCK ENV_LOCALE_READ_UNLOCK
# else
-# define LOCALTIME_LOCK ENV_LOCALE_LOCK
-# define LOCALTIME_UNLOCK ENV_LOCALE_UNLOCK
+# define LOCALTIME_LOCK gwENVr_LOCALEr_LOCK
+# define LOCALTIME_UNLOCK gwENVr_LOCALEr_UNLOCK
# endif
# ifdef PERL_REENTR_USING_GMTIME_R
# define GMTIME_LOCK ENV_LOCALE_READ_LOCK
# define GMTIME_UNLOCK ENV_LOCALE_READ_UNLOCK
# else
-# define GMTIME_LOCK ENV_LOCALE_LOCK
-# define GMTIME_UNLOCK ENV_LOCALE_UNLOCK
+# define GMTIME_LOCK gwENVr_LOCALEr_LOCK
+# define GMTIME_UNLOCK gwENVr_LOCALEr_UNLOCK
# endif
#else /* Reentrant not needed, so races not possible */
# define LOCALTIME_LOCK NOOP