Bug 739

Summary: pthread_getspecific / pthread_setspecific broken if single-threaded
Product: glibc Reporter: Roland McGrath <roland>
Component: linuxthreadsAssignee: Roland McGrath <roland>
Status: RESOLVED FIXED    
Severity: normal CC: glibc-bugs
Priority: P2 Flags: fweimer: security-
Version: 2.3.4   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Project(s) to access: ssh public key:
Bug Depends on:    
Bug Blocks: 724    

Description Roland McGrath 2005-02-16 04:49:10 UTC
This trunk change is needed on the 2.3 branch.

2005-02-07  Jakub Jelinek  <jakub@redhat.com>

	* specific.c (pthread_key_delete): If pthread_create has not been
	called yet, clear p_specific for the current thread.
	* Makefile (tests): Add tst-tsd1.
	* tst-tsd1.c: New test.
Comment 1 Sourceware Commits 2005-02-16 11:26:51 UTC
Subject: Bug 739

CVSROOT:	/cvs/glibc
Module name:	libc
Branch: 	glibc-2_3-branch
Changes by:	roland@sources.redhat.com	2005-02-16 11:26:40

Modified files:
	linuxthreads   : Makefile specific.c 

Log message:
	2005-02-07  Jakub Jelinek  <jakub@redhat.com>
	
	[BZ #739]
	* specific.c (pthread_key_delete): If pthread_create has not been
	called yet, clear p_specific for the current thread.
	* Makefile (tests): Add tst-tsd1.
	* tst-tsd1.c: New test.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/Makefile.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.96.2.1&r2=1.96.2.2
http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/specific.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.20&r2=1.20.4.1

Comment 2 Sourceware Commits 2005-02-16 11:27:21 UTC
Subject: Bug 739

CVSROOT:	/cvs/glibc
Module name:	libc
Branch: 	glibc-2_3-branch
Changes by:	roland@sources.redhat.com	2005-02-16 11:27:12

Added files:
	linuxthreads   : tst-tsd1.c 

Log message:
	2005-02-07  Jakub Jelinek  <jakub@redhat.com>
	
	[BZ #739]
	* specific.c (pthread_key_delete): If pthread_create has not been
	called yet, clear p_specific for the current thread.
	* Makefile (tests): Add tst-tsd1.
	* tst-tsd1.c: New test.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/tst-tsd1.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.4.1

Comment 3 Roland McGrath 2005-04-05 23:59:31 UTC
These changes are in the 2.3 branch as well as the trunk now.