about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-03-15 07:12:44 +0000
committerUlrich Drepper <drepper@redhat.com>2000-03-15 07:12:44 +0000
commit30b416ea87471a739763966fddc37f6273be58e0 (patch)
tree20dd7212f92013093211f0c23655625012c9cbe7
parentd9cb1a7dad1f2638cdaa12ff8ade54f9c24c64bc (diff)
downloadglibc-30b416ea87471a739763966fddc37f6273be58e0.tar.gz
glibc-30b416ea87471a739763966fddc37f6273be58e0.tar.xz
glibc-30b416ea87471a739763966fddc37f6273be58e0.zip
Update.
2000-03-14  Ulrich Drepper  <drepper@redhat.com>

	* mutex.c (__pthread_once): Handle cancelled init function correctly.
	(pthread_once_cancelhandler): New function.
	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
-rw-r--r--linuxthreads/ChangeLog6
-rw-r--r--linuxthreads/mutex.c28
-rw-r--r--po/de.po2
-rw-r--r--timezone/africa19
-rw-r--r--timezone/asia15
-rw-r--r--timezone/australasia4
-rw-r--r--timezone/europe13
-rw-r--r--timezone/northamerica4
-rw-r--r--timezone/southamerica33
9 files changed, 82 insertions, 42 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 68d4de08d0..2a7bcb9e60 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,9 @@
+2000-03-14  Ulrich Drepper  <drepper@redhat.com>
+
+	* mutex.c (__pthread_once): Handle cancelled init function correctly.
+	(pthread_once_cancelhandler): New function.
+	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
+
 2000-03-14  Andreas Jaeger  <aj@suse.de>
 
 	* pthread.c (pthread_handle_sigcancel_rt): GS has been renamed to
diff --git a/linuxthreads/mutex.c b/linuxthreads/mutex.c
index cd7ace2617..06d97df03f 100644
--- a/linuxthreads/mutex.c
+++ b/linuxthreads/mutex.c
@@ -173,11 +173,31 @@ static pthread_cond_t once_finished = PTHREAD_COND_INITIALIZER;
 
 enum { NEVER = 0, IN_PROGRESS = 1, DONE = 2 };
 
+/* If a thread is canceled while calling the init_routine out of
+   pthread once, this handler will reset the once_control variable
+   to the NEVER state. */
+
+static void pthread_once_cancelhandler(void *arg)
+{
+    pthread_once_t *once_control = arg;
+
+    pthread_mutex_lock(&once_masterlock);
+    *once_control = NEVER;
+    pthread_mutex_unlock(&once_masterlock);
+    pthread_cond_broadcast(&once_finished);
+}
+
 int __pthread_once(pthread_once_t * once_control, void (*init_routine)(void))
 {
+  /* flag for doing the condition broadcast outside of mutex */
+  int state_changed;
+
   /* Test without locking first for speed */
   if (*once_control == DONE) return 0;
   /* Lock and test again */
+
+  state_changed = 0;
+
   pthread_mutex_lock(&once_masterlock);
   /* If init_routine is being called from another routine, wait until
      it completes. */
@@ -188,12 +208,18 @@ int __pthread_once(pthread_once_t * once_control, void (*init_routine)(void))
   if (*once_control == NEVER) {
     *once_control = IN_PROGRESS;
     pthread_mutex_unlock(&once_masterlock);
+    pthread_cleanup_push(pthread_once_cancelhandler, once_control);
     init_routine();
+    pthread_cleanup_pop(0);
     pthread_mutex_lock(&once_masterlock);
     *once_control = DONE;
-    pthread_cond_broadcast(&once_finished);
+    state_changed = 1;
   }
   pthread_mutex_unlock(&once_masterlock);
+
+  if (state_changed)
+    pthread_cond_broadcast(&once_finished);
+
   return 0;
 }
 strong_alias (__pthread_once, pthread_once)
diff --git a/po/de.po b/po/de.po
index 911a6d3fb5..6f3a714d1b 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2842,7 +2842,7 @@ msgid ""
 msgstr ""
 "Die folgende Liste enthält alle bekannten Zeichensatzkodierungen.  Das\n"
 "bedeutet nicht, daß zwischen allen Kombinationen dieser Namen als FROM\n"
-"und TO Paramter konvertiert werden kann.  Eine Zeichensatzkodierung kann\n"
+"und TO Parameter konvertiert werden kann.  Eine Zeichensatzkodierung kann\n"
 "unter verschiedenen Namen aufgeführt sein (sog. Aliasnamen).\n"
 "\n"
 "Einige Namen sind keine normalen Zeichenketten, sondern Reguläre Ausdrücke;\n"
diff --git a/timezone/africa b/timezone/africa
index 69657c0176..8a7467d6a6 100644
--- a/timezone/africa
+++ b/timezone/africa
@@ -1,4 +1,4 @@
-# @(#)africa	7.32
+# @(#)africa	7.33
 
 # This data is by no means authoritative; if you think you know better,
 # go ahead and edit the file (and please send any changes to
@@ -10,7 +10,7 @@
 # Thomas G. Shanks, The International Atlas (5th edition),
 # San Diego: ACS Publications, Inc. (1999).
 #
-# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
+# Gwillim Law <Gwil_Law@bridge-point.com> writes that a good source
 # for recent time zone data is the International Air Transport
 # Association's Standard Schedules Information Manual (IATA SSIM),
 # published semiannually.  Law sent in several helpful summaries
@@ -515,10 +515,14 @@ Zone Africa/Johannesburg 1:52:00 -	LMT	1892 Feb 8
 # no information
 
 # Sudan
-# From Michael Ross <mross@antigone.com> (1995-11-15):
-# Sudan no longer observes any form of daylight time change.
-# I verified this today by telephone with the Sudan Mission to the
-# United Nations: 212-573-6033
+#
+# From <a href="http://www.sunanews.net/sn13jane.html">
+# Sudan News Agency (2000-01-13)
+# </a>, also reported by Michael De Beukelaer-Dossche via Steffen Thorsen:
+# Clocks will be moved ahead for 60 minutes all over the Sudan as of noon
+# Saturday....  This was announced Thursday by Caretaker State Minister for
+# Manpower Abdul-Rahman Nur-Eddin.
+#
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Sudan	1970	only	-	May	 1	0:00	1:00	S
 Rule	Sudan	1970	1985	-	Oct	15	0:00	0	-
@@ -526,7 +530,8 @@ Rule	Sudan	1971	only	-	Apr	30	0:00	1:00	S
 Rule	Sudan	1972	1985	-	Apr	lastSun	0:00	1:00	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Africa/Khartoum	2:10:08 -	LMT	1931
-			2:00	Sudan	CA%sT
+			2:00	Sudan	CA%sT	2000 Jan 15 12:00
+			3:00	-	EAT
 
 # Swaziland
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
diff --git a/timezone/asia b/timezone/asia
index 8f0a6cd833..6d9f5172fe 100644
--- a/timezone/asia
+++ b/timezone/asia
@@ -1,4 +1,4 @@
-# @(#)asia	7.54
+# @(#)asia	7.55
 
 # This data is by no means authoritative; if you think you know better,
 # go ahead and edit the file (and please send any changes to
@@ -10,7 +10,7 @@
 # Thomas G. Shanks, The International Atlas (5th edition),
 # San Diego: ACS Publications, Inc. (1999).
 #
-# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
+# Gwillim Law <Gwil_Law@bridge-point.com> writes that a good source
 # for recent time zone data is the International Air Transport
 # Association's Standard Schedules Information Manual (IATA SSIM),
 # published semiannually.  Law sent in several helpful summaries
@@ -597,7 +597,7 @@ Rule	Zion	1999	only	-	Sep	 3	2:00	0	S
 # that the end date of 2000 and both dates of 2001-2002 should be regarded
 # as tentative pending final approval.
 #
-# The official announcement for the years 2000-2001 can be viewed at:
+# The official announcement for the years 2000-2002 can be viewed at:
 #
 #	ftp://ftp.huji.ac.il/pub/tz/announcements/2000-2002.ps.gz
 
@@ -687,9 +687,6 @@ Zone	Asia/Tokyo	9:18:59	-	LMT	1887 Dec 31 15:00u
 # The decision was taken because of the increase in working hours in
 # government's departments from six to seven hours.
 #
-# From Paul Eggert (1999-11-09):
-# No word on Jordan's future rules; assume 04-01 to 10-01 for now.
-#
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule    Jordan	1973	only	-	Jun	6	0:00	1:00	S
 Rule    Jordan	1973	1975	-	Oct	1	0:00	0	-
@@ -711,9 +708,9 @@ Rule    Jordan	1992	1993	-	Oct	Fri>=1	0:00	0	-
 Rule    Jordan	1993	1998	-	Apr	Fri>=1	0:00	1:00	S
 Rule    Jordan	1994	only	-	Sep	Fri>=15	0:00	0	-
 Rule    Jordan	1995	1998	-	Sep	Fri>=15	0:00s	0	-
-Rule	Jordan	1999	only	-	Jul	 1	0:00	1:00	S
-Rule	Jordan	1999	max	-	Oct	 1	0:00	0	-
-Rule	Jordan	2000	max	-	Apr	 1	0:00	1:00	-
+Rule	Jordan	1999	only	-	Jul	 1	0:00s	1:00	S
+Rule	Jordan	1999	max	-	Sep	lastThu	0:00s	0	-
+Rule	Jordan	2000	max	-	Mar	lastThu	0:00s	1:00	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Amman	2:23:44 -	LMT	1931
 			2:00	Jordan	EE%sT
diff --git a/timezone/australasia b/timezone/australasia
index 70ac421be1..32699605f2 100644
--- a/timezone/australasia
+++ b/timezone/australasia
@@ -1,4 +1,4 @@
-# @(#)australasia	7.55
+# @(#)australasia	7.56
 # This file also includes Pacific islands.
 
 # Notes are at the end of this file
@@ -464,7 +464,7 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
 # Thomas G. Shanks, The International Atlas (5th edition),
 # San Diego: ACS Publications, Inc. (1999).
 #
-# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
+# Gwillim Law <Gwil_Law@bridge-point.com> writes that a good source
 # for recent time zone data is the International Air Transport
 # Association's Standard Schedules Information Manual (IATA SSIM),
 # published semiannually.  Law sent in several helpful summaries
diff --git a/timezone/europe b/timezone/europe
index e0bd741afd..cc08c0c236 100644
--- a/timezone/europe
+++ b/timezone/europe
@@ -1,4 +1,4 @@
-# @(#)europe	7.69
+# @(#)europe	7.71
 
 # This data is by no means authoritative; if you think you know better,
 # go ahead and edit the file (and please send any changes to
@@ -9,7 +9,7 @@
 # Thomas G. Shanks, The International Atlas (5th edition),
 # San Diego: ACS Publications, Inc. (1999).
 #
-# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
+# Gwillim Law <Gwil_Law@bridge-point.com> writes that a good source
 # for recent time zone data is the International Air Transport
 # Association's Standard Schedules Information Manual (IATA SSIM),
 # published semiannually.  Law sent in several helpful summaries
@@ -1135,6 +1135,12 @@ Link	Europe/Rome	Europe/San_Marino
 # 1997-01-21 on transition to Summer time ... established the same order of
 # daylight savings time settings as in the States of the European Union.
 
+# From Andrei Ivanov (2000-03-06):
+# This year Latvia will not switch to Daylight Savings Time (as specified in
+# <a href="http://www.lv-laiks.lv/wwwraksti/2000/071072/vd4.htm">
+# The Regulations of the Cabinet of Ministers of the Rep. of Latvia of
+# 29-Feb-2000 (#79)</a>, in Latvian for subscribers only).
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Latvia	1989	1996	-	Mar	lastSun	 2:00s	1:00	S
 Rule	Latvia	1989	1996	-	Sep	lastSun	 2:00s	0	-
@@ -1151,7 +1157,8 @@ Zone	Europe/Riga	1:36:24	-	LMT	1880
 			3:00	Russia	MSK/MSD	1989 Mar lastSun 2:00s
 			2:00	1:00	EEST	1989 Sep lastSun 2:00s
 			2:00	Latvia	EE%sT	1997 Jan 21
-			2:00	EU	EE%sT
+			2:00	EU	EE%sT	2000 Feb 29
+			2:00	-	EET
 
 # Liechtenstein
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
diff --git a/timezone/northamerica b/timezone/northamerica
index ff7fb52591..845587fa82 100644
--- a/timezone/northamerica
+++ b/timezone/northamerica
@@ -1,4 +1,4 @@
-# @(#)northamerica	7.50
+# @(#)northamerica	7.51
 # also includes Central America and the Caribbean
 
 # This data is by no means authoritative; if you think you know better,
@@ -509,7 +509,7 @@ Link	Pacific/Honolulu	HST
 # Thomas G. Shanks, The International Atlas (5th edition),
 # San Diego: ACS Publications, Inc. (1999).
 #
-# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
+# Gwillim Law <Gwil_Law@bridge-point.com> writes that a good source
 # for recent time zone data is the International Air Transport
 # Association's Standard Schedules Information Manual (IATA SSIM),
 # published semiannually.  Law sent in several helpful summaries
diff --git a/timezone/southamerica b/timezone/southamerica
index bd020a727f..81797ff2a5 100644
--- a/timezone/southamerica
+++ b/timezone/southamerica
@@ -1,4 +1,4 @@
-# @(#)southamerica	7.34
+# @(#)southamerica	7.35
 
 # This data is by no means authoritative; if you think you know better,
 # go ahead and edit the file (and please send any changes to
@@ -9,7 +9,7 @@
 # Thomas G. Shanks, The International Atlas (5th edition),
 # San Diego: ACS Publications, Inc. (1999).
 #
-# Gwillim Law <LAW@encmail.encompass.com> writes that a good source
+# Gwillim Law <Gwil_Law@bridge-point.com> writes that a good source
 # for recent time zone data is the International Air Transport
 # Association's Standard Schedules Information Manual (IATA SSIM),
 # published semiannually.  Law sent in several helpful summaries
@@ -114,8 +114,11 @@ Rule	Arg	1989	1992	-	Oct	Sun>=15	0:00	1:00	S
 # from the International Date Line.  On March 5, 2000, at 0:00 local time,
 # Argentina will come off daylight savings time, which will bring them to 8
 # hours from the International Date Line.
-Rule	Arg	1999	max	-	Oct	Sun>=1	0:00	1:00	S
-Rule	Arg	2000	max	-	Mar	Sun>=1	0:00	0	-
+#
+# From Peter Gradelski via Steffen Thorsen (2000-03-01):
+# We just checked with our San Paulo office and they say the government of
+# Argentina decided not to become one of the countries that go on or off DST.
+# So Buenos Aires should be -3 hours from GMT at all times.
 #
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 #
@@ -125,8 +128,7 @@ Zone America/Buenos_Aires -3:53:48 -	LMT	1894 Nov
 			-4:16:44 -	CMT	1920 May    # Cordoba Mean Time
 			-4:00	-	ART	1930 Dec
 			-4:00	Arg	AR%sT	1969 Oct  5
-			-3:00	Arg	AR%sT	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT
+			-3:00	Arg	AR%sT
 #
 # Santa Fe (SF), Entre Rios (ER), Corrientes (CN), Misiones (MN), Chaco (CC),
 # Formosa (FM), La Pampa (LP), Chubut (CH)
@@ -135,8 +137,7 @@ Zone America/Rosario	-4:02:40 -	LMT	1894 Nov
 			-4:00	-	ART	1930 Dec
 			-4:00	Arg	AR%sT	1969 Oct  5
 			-3:00	Arg	AR%sT	1991 Jul
-			-3:00	-	ART	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT
+			-3:00	-	ART
 #
 # Cordoba (CB), Santiago del Estero (SE), Salta (SA), Tucuman (TM), La Rioja (LR), San Juan (SJ), San Luis (SL),
 # Neuquen (NQ), Rio Negro (RN)
@@ -145,8 +146,7 @@ Zone America/Cordoba	-4:16:44 -	LMT	1894 Nov
 			-4:00	-	ART	1930 Dec
 			-4:00	Arg	AR%sT	1969 Oct  5
 			-3:00	Arg	AR%sT	1990 Jul
-			-3:00	-	ART	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT
+			-3:00	-	ART
 #
 # Jujuy (JY)
 Zone America/Jujuy	-4:21:12 -	LMT	1894 Nov
@@ -157,8 +157,7 @@ Zone America/Jujuy	-4:21:12 -	LMT	1894 Nov
 			-4:00	-	WART	1991 Oct  6
 			-4:00	1:00	WARST	1992 Mar 15
 			-4:00	-	WART	1992 Oct 18
-			-3:00	-	ART	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT
+			-3:00	-	ART
 #
 # Catamarca (CT)
 Zone America/Catamarca	-4:23:08 -	LMT	1894 Nov
@@ -168,8 +167,7 @@ Zone America/Catamarca	-4:23:08 -	LMT	1894 Nov
 			-3:00	Arg	AR%sT	1990 Jul
 			-3:00	-	ART	1991 Jul
 			-3:00	Arg	AR%sT	1992 Jul
-			-3:00	-	ART	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT
+			-3:00	-	ART
 #
 # Mendoza (MZ)
 Zone America/Mendoza	-4:35:16 -	LMT	1894 Nov
@@ -180,8 +178,7 @@ Zone America/Mendoza	-4:35:16 -	LMT	1894 Nov
 			-4:00	-	WART	1991 Oct 15
 			-4:00	1:00	WARST	1992 Mar  1
 			-4:00	-	WART	1992 Oct 18
-			-3:00	-	ART	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT
+			-3:00	-	ART
 
 # Aruba
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
@@ -559,10 +556,12 @@ Rule	Para	1996	only	-	Mar	 1	0:00	0	-
 # IATA SSIM (1997-09) says Mar 1; go with Shanks.
 Rule	Para	1997	only	-	Feb	lastSun	0:00	0	-
 Rule	Para	1998	only	-	Mar	 1	0:00	0	-
-Rule	Para	1996	max	-	Oct	Sun>=1	0:00	1:00	S
+Rule	Para	1996	1998	-	Oct	Sun>=1	0:00	1:00	S
 # IATA SSIM (1999-02) says lastSat, not lastSun; (1999-09) reports no date;
 # go with Shanks.
 Rule	Para	1999	max	-	Feb	lastSun	0:00	0	-
+# IATA SSIM (2000-02) says 1999-10-10.
+Rule	Para	1999	max	-	Oct	Sun>=8	0:00	1:00	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone America/Asuncion	-3:50:40 -	LMT	1890
 			-3:50:40 -	AMT	1931 Oct 10 # Asuncion Mean Time