Module Name: src
Committed By: explorer
Date: Thu Mar 25 01:15:00 UTC 2010
Modified Files:
src/lib/libpthread: pthread.c
Log Message:
fix the pthread pt_lid in the fork callback function that runs in the child
instead of a function that may be going away. KNFify
To generate a diff of this commit:
cvs rdiff -u -r1.114 -r1.115 src/lib/libpthread/pthread.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libpthread/pthread.c
diff -u src/lib/libpthread/pthread.c:1.114 src/lib/libpthread/pthread.c:1.115
--- src/lib/libpthread/pthread.c:1.114 Wed Mar 24 07:27:22 2010
+++ src/lib/libpthread/pthread.c Thu Mar 25 01:15:00 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: pthread.c,v 1.114 2010/03/24 07:27:22 explorer Exp $ */
+/* $NetBSD: pthread.c,v 1.115 2010/03/25 01:15:00 explorer Exp $ */
/*-
* Copyright (c) 2001, 2002, 2003, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: pthread.c,v 1.114 2010/03/24 07:27:22 explorer Exp $");
+__RCSID("$NetBSD: pthread.c,v 1.115 2010/03/25 01:15:00 explorer Exp $");
#define __EXPOSE_STACK 1
@@ -235,11 +235,14 @@
static void
pthread__fork_callback(void)
{
+ struct __pthread_st *self;
/* lwpctl state is not copied across fork. */
if (_lwp_ctl(LWPCTL_FEATURE_CURCPU, &pthread__first->pt_lwpctl)) {
err(1, "_lwp_ctl");
}
+ self = pthread__self();
+ self->pt_lid = _lwp_self();
}
static void
@@ -256,8 +259,6 @@
* much. Anything that permits some pthread_* calls to work is
* merely being polite.
*/
- struct __pthread_st *self = pthread_self();
- self->pt_lid = _lwp_self();
pthread__started = 0;
}