aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-10-15 00:38:31 +0000
committerUlrich Drepper <drepper@redhat.com>1999-10-15 00:38:31 +0000
commitf6367df2fd032db89e68e28333d995fb18ffa653 (patch)
tree3b4bca3c94d629071e220c0f1a1b194c7dc8c3b6 /linuxthreads
parent3e1e749e27765b2513b32d9cb1cd058830e6b2c8 (diff)
downloadglibc-f6367df2fd032db89e68e28333d995fb18ffa653.zip
glibc-f6367df2fd032db89e68e28333d995fb18ffa653.tar.gz
glibc-f6367df2fd032db89e68e28333d995fb18ffa653.tar.bz2
Update.
1999-10-14 Ulrich Drepper <drepper@cygnus.com> * manager.c (pthread_handle_create): Remove p_startfct initialization. * internals.h (_pthread_descr_struct): We don't need p_startfct field.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog6
-rw-r--r--linuxthreads/internals.h3
-rw-r--r--linuxthreads/manager.c1
-rw-r--r--linuxthreads/pthread.c6
4 files changed, 11 insertions, 5 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index e90c2fe..6d8d18b 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,9 @@
+1999-10-14 Ulrich Drepper <drepper@cygnus.com>
+
+ * manager.c (pthread_handle_create): Remove p_startfct initialization.
+
+ * internals.h (_pthread_descr_struct): We don't need p_startfct field.
+
1999-10-12 Ulrich Drepper <drepper@cygnus.com>
* internals.h: Correct return types for __libc_read and __libc_write.
diff --git a/linuxthreads/internals.h b/linuxthreads/internals.h
index 6e9dc10..b127512 100644
--- a/linuxthreads/internals.h
+++ b/linuxthreads/internals.h
@@ -72,7 +72,7 @@ struct pthread_key_struct {
};
-#define PTHREAD_START_ARGS_INITIALIZER { NULL, NULL, {{0, }}, 0, { 0 } }
+#define PTHREAD_START_ARGS_INITIALIZER(fct) { fct, NULL, {{0, }}, 0, { 0 } }
/* The type of thread descriptors */
@@ -114,7 +114,6 @@ struct _pthread_descr_struct {
size_t p_guardsize; /* size of guard area */
pthread_descr p_self; /* Pointer to this structure */
int p_nr; /* Index of descriptor in __pthread_handles */
- void *(*p_startfct) (void *); /* The startup function of this thread. */
} __attribute__ ((aligned(32))); /* We need to align the structure so that
doubles are aligned properly. This is 8
bytes on MIPS and 16 bytes on MIPS64.
diff --git a/linuxthreads/manager.c b/linuxthreads/manager.c
index 52c541c..daa12bc 100644
--- a/linuxthreads/manager.c
+++ b/linuxthreads/manager.c
@@ -342,7 +342,6 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr,
new_thread->p_guardsize = guardsize;
new_thread->p_self = new_thread;
new_thread->p_nr = sseg;
- new_thread->p_startfct = start_routine;
/* Initialize the thread handle */
__pthread_init_lock(&__pthread_handles[sseg].h_lock);
__pthread_handles[sseg].h_descr = new_thread;
diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c
index aea6db1..2741b21 100644
--- a/linuxthreads/pthread.c
+++ b/linuxthreads/pthread.c
@@ -61,7 +61,8 @@ struct _pthread_descr_struct __pthread_initial_thread = {
0, /* int p_h_errno */
NULL, /* char * p_in_sighandler */
0, /* char p_sigwaiting */
- PTHREAD_START_ARGS_INITIALIZER, /* struct pthread_start_args p_start_args */
+ PTHREAD_START_ARGS_INITIALIZER(NULL),
+ /* struct pthread_start_args p_start_args */
{NULL}, /* void ** p_specific[PTHREAD_KEY_1STLEVEL_SIZE] */
{NULL}, /* void * p_libc_specific[_LIBC_TSD_KEY_N] */
0, /* int p_userstack */
@@ -103,7 +104,8 @@ struct _pthread_descr_struct __pthread_manager_thread = {
0, /* int p_h_errno */
NULL, /* char * p_in_sighandler */
0, /* char p_sigwaiting */
- PTHREAD_START_ARGS_INITIALIZER, /* struct pthread_start_args p_start_args */
+ PTHREAD_START_ARGS_INITIALIZER(__pthread_manager),
+ /* struct pthread_start_args p_start_args */
{NULL}, /* void ** p_specific[PTHREAD_KEY_1STLEVEL_SIZE] */
{NULL}, /* void * p_libc_specific[_LIBC_TSD_KEY_N] */
0, /* int p_userstack */